| 
	
 | 
 Posted by frothpoker on 09/11/06 09:39 
Pass the array to a function 
 
set a variable = to now - 24hrs. 
 
Loop through the array and either build a new array of the values or 
add one to a counter if the value falls in the required range 
 
return either the counter or the new array. 
 
This way you will not destroy the original array. 
 
Obiron 
 
Tim Martin wrote: 
> deko wrote: 
> > I have a file containing only UNIX timestamps that I pull into an array 
> > with file($myarray) 
> > 
> > I need to get a count of timestamps that fall between specific times - 
> > those that are less than 24-hours old, those that are between 24-hours 
> > old and 30-days old, and so forth. 
> > 
> > I thought about using array_filter and a function like this: 
> > 
> > function getlast24h($visits24h) 
> > { 
> >      return ($visits24h > TIMEAGO24H); 
> > } 
> > 
> > $last24h_array = array_filter($myarray, "getlast24h"); 
> > 
> > where TIMEAGO24H is a constant representing a timestamp of time() - 24hours 
> > 
> > but then I cannot get any additional time segments (such as last 30days, 
> > last 3 months, etc) - since $myarray will have had those timestamps 
> > filtered out. 
> 
> array_filter() doesn't modify its argument, since it is passed by value 
> not reference. Therefore $myarray won't have the timestamps removed, and 
> can be used again. 
>  
> Tim
 
  
Navigation:
[Reply to this message] 
 |