美好的一天,
整天都在寻找解决这个问题的方法。
My Array看起来像这样。
[status] => success
[city] => Array
(
[0] => Array
(
[street] => Array
(
[name] => 'las vegas'
)
{
[1] => Array
(
[street] => Array
(
[name] => 'york'
)
{
我的问题是这个,我需要 根据[名称]对此数组进行排序(样本内容为' las vegas',' york'
已经做过像
usort 和 uasort 以及我的鄙视,他们根本无法工作。
提前致谢!
更新
示例代码为usort
foreach($myArr['city'] as $city) {
foreach($city['street'] as $street) {
function sort ($a, $b) {
return strcmp ($a['name'], $b['name']);
}
}
}
usort($myArr, 'sort');
答案 0 :(得分:1)
usort适用于您的情况。请检查您的代码。
您可能没有使用strcmp按名称对数组进行排序。
以下代码应该有效。
<?php
$cities=array(
array(
"street"=> array (
"name"=> 'las vegas'
)
),
array(
"street"=> array (
"name"=> 'C'
)
),
array(
"street"=> array (
"name"=> 'york'
)
),
array(
"street"=> array (
"name"=> 'A'
)
),
array(
"street"=> array (
"name"=> 'B'
)
),
);
function sortByName($a, $b) {
return strcmp($a["street"]["name"], $b["street"]["name"]);
}
usort($cities, 'sortByName');
?>