|
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]
|