【发布时间】:2015-06-22 10:20:27
【问题描述】:
我有这个从 api 获得的数组响应, 在每个数组项中,我有它的参数(名称、id 等)和另一个度量数组,在这个度量中有一个称为“排序”的度量,它有一个带有 id 的值,我如何对这个数组进行排序通过这个度量值 id?
示例数组
$response = array(
[0] => array(
'id' => 26374,
'name' => 'item 1',
'cat' => 'items_cat'
'measures' => array(
[0] => array(
'name' => 'height',
'value' => 3.5,
'valueiD' => 35466
),
[1] => array(
'name' => 'width',
'value' => 4.7,
'valueiD' => 22466
),
[2] => array(
'name' => 'sort',
'value' => 3,
'valueiD' => 35466
)
),
[1] => array(
'id' => 26454,
'name' => 'item 21',
'cat' => 'items_cat'
'measures' => array(
[0] => array(
'name' => 'height',
'value' => 6.5,
'valueiD' => 23456
),
[1] => array(
'name' => 'width',
'value' => 43.2,
'valueiD' => 12443
),
[2] => array(
'name' => 'sort',
'value' => 1,
'valueiD' => 35466
)
),
[2] => array(
'id' => 26374,
'name' => 'item 14',
'cat' => 'items_cat'
'measures' => array(
[0] => array(
'name' => 'height',
'value' => 12.5,
'valueiD' => 32344
),
[1] => array(
'name' => 'width',
'value' => 11.7,
'valueiD' => 23445
),
[2] => array(
'name' => 'sort',
'value' => 2,
'valueiD' => 35466
)
)
);
我正在尝试遍历每一个并获取排序值以对其进行排序,我不知道如何完成它
foreach ($responseArr as $key => $single) {
foreach($single->measures as $measure){
if($measure->name == 'sort'){
//get the value of this measure
$sort[$key] = $measure->value
}
}
}
//than do something to sort the response array
【问题讨论】:
-
你试过了吗?
-
1) 到目前为止您尝试过什么? 2)发布您的尝试。 3)也发布您的预期输出
-
我认为你已经粘贴了预期的输出......因为它看起来像它的排序
-
它没有排序,看起来不错,但请注意我要排序的值是“排序”度量值,在这种情况下是 3, 1, 2
标签: php arrays sorting multidimensional-array