- PHP: getting in between timestamps data from an array
- echo"<pre>";print_r($array1);echo"</pre>";
- Array
- (
- [0] => stdClass Object
- (
- [id] => 4d6f6aec35993704d52c0d9d
- [createdAt] => 1299147500
- [place] => stdClass Object
- (
- [id] => 4adcda40f964a5208a3e21e3
- )
- )
- [1] => stdClass Object
- (
- [id] => 654jk654n646g54j6kl54j645
- [createdAt] => 1299147500
- [place] => stdClass Object
- (
- [id] => 4gh543gh5h5g354h3gg53gh
- )
- )
- .
- .
- .
- $array2 = array();
- $begin = strtotime("2011-02-17 12:22:49");
- $end = strtotime("2011-03-03 10:00:00");
- foreach($array1 as $timestamp){
- if($timestamp <= $end && $timestamp >= $begin){
- $array2[] = $timestamp;
- }
- }
- $begin = strtotime("2011-02-17 12:22:49");
- $end = strtotime("2011-03-03 10:00:00");
- $array2 = array_map(function($item) {
- return $item->place->id;
- }, array_filter($array1, function($item) use($begin, $end) {
- return $item->createdAt >= $begin && $item->createdAt <= $end;
- }));
- $begin = strtotime("2011-02-17 12:22:49");
- $end = strtotime("2011-03-03 10:00:00");
- $array2 = array_filter($array1, create_function('$o', "return $o->createdAt >= $begin && $o->createdAt <= $end;"));
- $array2 = array_map(create_function('$o', 'return $o->place->id;'), $array2);
- $array2 = array();
- $begin = strtotime("2011-02-17 12:22:49");
- $end = strtotime("2011-03-03 10:00:00");
- foreach($array1 as $item){
- $timestamp = $item->createdAt;
- if($timestamp <= $end && $timestamp >= $begin){
- $array2[] = $item->place;
- }
- }
- echo '<pre>' . print_r($array2, 1) . '</pre>';