Tis*_*sch 7 php arrays wordpress
我有两个PHP数组,如下所示:
这两个数组看起来像这样:
Array One(Wordpress Post ID的排序自定义数组)
Array (
[0] => 54
[1] => 10
[2] => 4
)
Run Code Online (Sandbox Code Playgroud)
数组二(Wordpress Post Array)
Array (
[0] => stdClass Object
(
[ID] => 4
[post_author] => 1
)
[1] => stdClass Object
(
[ID] => 54
[post_author] => 1
)
[2] => stdClass Object
(
[ID] => 10
[post_author] => 1
)
)
Run Code Online (Sandbox Code Playgroud)
我想按照第一个数组中ID的顺序对wordpress帖子的数组进行排序.
我希望这是有道理的,并且在任何帮助之前都要感谢.
汤姆
编辑:服务器正在运行PHP 5.2.14版
lon*_*day 10
这应该很容易使用usort,它使用用户定义的比较函数对数组进行排序.结果可能如下所示:
usort($posts, function($a, $b) use ($post_ids) {
return array_search($a->ID, $post_ids) - array_search($b->ID, $post_ids);
});
Run Code Online (Sandbox Code Playgroud)
请注意,此解决方案,因为它使用匿名函数和闭包,需要PHP 5.3.
这个5.3之前(黑暗时代!)的一个简单解决方案是通过快速循环执行此操作然后ksort:
$ret = array();
$post_ids = array_flip($post_ids);
foreach ($posts as $post) {
$ret[$post_ids[$post->ID]] = $post;
}
ksort($ret);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |