这是我的数组:http://2of1.com/zee/ZEES%20SMS%20SERVICE.html此数组包含2个数组源。
来自中央铸造的帖子和来自Debe Waisman铸造的帖子。
现在我先得到所有的中心选角职位。然后是戴比·威斯曼铸造岗位。像这样…
中心铸造柱中心铸造柱中心铸造柱中心铸造柱中心铸造柱
Debe Waisman铸造岗位
Debe Waisman铸造岗位Debe Waisman铸造岗位Debe Waisman铸造岗位Debe Waisman铸造岗位我想按$updated_time对这些帖子进行排序,这样最新的帖子就会使用usort()发布在顶部,但我不知道如何使用这个函数。
这就是我从数组中获取数据的方式:
$response = $request->execute();
$graphObject = $response->getGraphObject()->AsArray();
foreach ($graphObject as $keyEntry => $entry){
foreach( $entry->data as $data ) {
$string = $data->message;
$pic = $data->picture;
$post_id = $data->id;
$page_name = $data->from->name;
$time_posted = $data->created_time;
$updated_time = $data->updated_time;
$unixtime = strtotime($time_posted);
$unixtime2 = strtotime($updated_time);
foreach( $data->actions as $action ) {
$link = $action->link;
}
echo '<div class='posts'>$string</div>';
}
}
首先我会修复这个
echo '<div class='posts'>$string</div>';
所以就是这样
echo "<div class='posts'>$string</div>";
或者这样
echo '<div class="posts">'.$string.'</div>';
然后你会想要实际创建一个数据数组,你可以应用usort,所以在你的循环中做一些类似的事情
$row['updated_time'] = $data->updated_time;
$rows[] = $row;
然后当你有一个像这个这样的阵列时
array(
array( 'updated_time'=>126154655,... ),
array(...)
)
你可以像这个一样使用usort
usort( $array, function($a,$b){
return $a['updated_time'] < $b['updated_time'] ? -1 : 1;
}
所以像这个
$rows = array();
foreach ($graphObject as $keyEntry => $entry){
$row = array();
foreach( $entry->data as $data ) {
$row['string'] = $data->message;
$row['pic'] = $data->picture;
$row['post_id'] = $data->id;
$row['page_name'] = $data->from->name;
$row['time_posted'] = $data->created_time;
$row['updated_time'] = $data->updated_time;
$row['unixtime'] = strtotime($time_posted);
$row['unixtime2'] = strtotime($updated_time);
$row['links'] = array();
foreach( $data->actions as $action ) {
$row['links'][] = $action->link;
}
$rows[] = $row;
}
}
usort( $rows, function($a,$b){
return $a['updated_time'] < $b['updated_time'] ? -1 : 1;
}
否则,所有这些变量都会在下一个循环中消失,如果没有数据,就无法对数据进行排序。
UPDATE:由于$data用于对象foreach($entry->data as $data )
,您将希望使用$rows或其他东西作为顶级数组。