1
使用CakePHP 2.7,我的发现结果的数组:CakePHP的 - 排序结果阵列单独
array(
(int) 0 => array(
'Foo' => array(
'id' => '786',
'bar_id' => '12',
// more data
),
'Bar' => array(
'id' => '12',
// more data
)
),
(int) 1 => array(
'Foo' => array(
'id' => '785',
'bar_id' => '13',
// more data
),
'Bar' => array(
'id' => '13',
// more data
)
),
// many more results
现在我想确实有它的“bar_id”的定义个人方式排序,不是数字。排序顺序在另一个数组描述:
array(9, 3, 18, 36, …)
有没有更好的办法把它做的,但在循环遍历排序阵列,挑电流id然后将结果阵列上的循环(循环内的循环)看那里的相应'bar_id',如果发现写结果到一个新的结果数组?
$results = array(…); // the results
$order = array(9, 3, 18, 36, …);
$sortedResults = array();
foreach ($order as $barId) {
foreach ($results as $result) {
if ($barId == $result['Foo']['bar_id']) {
$sortedResults[] = $result;
break;
}
}
}
我知道蛋糕有哈希实用程序(原名“设置”)与阵列的工作,但我不能找到一种方法用了这样做。
谢谢,arilia。它工作得很好!对不起,我的名声不够高,无法投票回答你的答案。 – Christian