PHP多维数组与键排序
我有一个如下的数组PHP多维数组与键排序,php,sorting,multidimensional-array,associative-array,Php,Sorting,Multidimensional Array,Associative Array,我有一个如下的数组 Array ( [1236669] => Array ( [banner_type] => OMAX [bannerid] => 1236669 [zone_id] => 119789 [zone_name] => OMAX-Supply - Mobile Web Tablet Interstitial [zone_manager_id] => 76
Array
(
[1236669] => Array
(
[banner_type] => OMAX
[bannerid] => 1236669
[zone_id] => 119789
[zone_name] => OMAX-Supply - Mobile Web Tablet Interstitial
[zone_manager_id] => 76
[zone_manager_name] => Thumbtribe Manager
[banner_name] => THUMBTRIBE_MW_TAB_Interstitial
[banner_manager_id] => 288
[banner_manager_name] => OMAX Manager
[prev_day_req] => 0
)
)
我希望根据第二级键对二维数组进行排序,这意味着我希望数组为:
Array
(
[1236669] => Array
(
[banner_type] => OMAX
[bannerid] => 1236669
[banner_name] => THUMBTRIBE_MW_TAB_Interstitial
[banner_manager_id] => 288
[banner_manager_name] => OMAX Manager
[prev_day_req] => 0
[zone_id] => 119789
[zone_name] => OMAX-Supply - Mobile Web Tablet Interstitial
[zone_manager_id] => 76
[zone_manager_name] => Thumbtribe Manager
)
)
我尝试了asort、ksort、array\u multisort,但没有任何效果您必须在主数组的每个子级上使用ksort。像这样
<?php
$array =array ( 1236 => array
(
'banner_type' => 'OMAX',
'bannerid' => 12369,
'zone_id' => 1197,
'zone_name' => 'OMAX-Supply - Mobile Web Tablet Interstitial',
'zone_manager_id' => 76,
)
);
foreach ($array as $key => $arr){
ksort($arr);
$array[$key] = $arr;
}
echo '<pre>';
print_r($array);
?>
oneliner解决方案:
<?php
$marks = Array
(
1236669 => Array
(
'banner_type' => 'OMAX',
'bannerid' => '1236669',
'zone_id' => '119789',
'zone_name' => 'OMAX-Supply - Mobile Web Tablet Interstitial',
'zone_manager_id' => '76',
'zone_manager_name' => 'Thumbtribe Manager',
'banner_name' => 'THUMBTRIBE_MW_TAB_Interstitial',
'banner_manager_id' => '288',
'banner_manager_name' => 'OMAX Manager',
'prev_day_req' => '0'
)
);
ksort($marks);
echo "<pre>";
print_r($marks);
echo "</pre>";
?>
迭代所有关联数组并使用对其键进行排序。亲爱的,请尝试此代码
如果你的数组是这样的,那么输出就会变成这样
Array
(
[1236669] => Array
(
[banner_type] => OMAX
[bannerid] => 1236669
[zone_id] => 119789
[zone_name] => OMAX-Supply - Mobile Web Tablet Interstitial
[zone_manager_id] => 76
[zone_manager_name] => Thumbtribe Manager
[banner_name] => THUMBTRIBE_MW_TAB_Interstitial
[banner_manager_id] => 288
[banner_manager_name] => OMAX Manager
[prev_day_req] => 0
)
)
祝你好运
ksort($ar[1236669])代码>我认为数组的id或键不能正确访问ksort()函数
Array
(
[1236669] => Array
(
[banner_type] => OMAX
[bannerid] => 1236669
[zone_id] => 119789
[zone_name] => OMAX-Supply - Mobile Web Tablet Interstitial
[zone_manager_id] => 76
[zone_manager_name] => Thumbtribe Manager
[banner_name] => THUMBTRIBE_MW_TAB_Interstitial
[banner_manager_id] => 288
[banner_manager_name] => OMAX Manager
[prev_day_req] => 0
)
)