Php std类对象的排序
嗨,我需要一个Std类对象数组,比如Php std类对象的排序,php,arrays,sorting,Php,Arrays,Sorting,嗨,我需要一个Std类对象数组,比如 Array ( [0] => stdClass Object( [id] => 2 [name] => sven ) [1] => stdClass Object( [id] => 88 [name] => pat ) [2] => stdClass Object( [id] => 63 [name] => dan ) ) 和一个有序数组,如 $o
Array
(
[0] => stdClass Object(
[id] => 2
[name] => sven
)
[1] => stdClass Object(
[id] => 88
[name] => pat
)
[2] => stdClass Object(
[id] => 63
[name] => dan
)
)
和一个有序数组,如
$order = array(88,2,63);
如何按我的定制订单排序?我试着像你一样运动
usort($myArray, function ($a, $b) use ($order) {
$pos_a = array_search($a, $order);
$pos_b = array_search($b, $order);
return $pos_a - $pos_b;
});
由于std类数组搜索不起作用而未成功您可以填充订单数组,然后比较$order数组在0、1、2中的值
$order = array_flip($order);
usort($myArray, function($a, $b)use($order){return $order[$a->id] > $order[$b->id];});