PHP根据二维数组中某个项目进行整个数组重新排序:
<?php $data=array( 0 => array( 'id' => 63, 'catid' => '11', 'title' => '测试一', 'updatetime' => '1374827257'), 1 => array( 'id' => 202, 'catid' => '5', 'title' => '测试二', 'updatetime' => '1375691656'), 2 => array( 'id' => 3, 'catid' => '6', 'title' => '测试三', 'updatetime' => '1375691653'), 3 => array( 'id' => 4, 'catid' => '7', 'title' => '测试四', 'updatetime' => '1385691656') ); //排序处理 foreach($data as $key=>$val){ $temp_arr[] = $val[updatetime]; $_GET["sort_type"] === "ASC" ? $sort_type = SORT_ASC : $sort_type = SORT_DESC; array_multisort($temp_arr,$sort_type,$data); } //重新打印数组$data,查看排序后的数组。 print_r($data); ?>
经测试排序的结果是正确的 但总是提示一个警告
经过网上搜寻 有些人说:
不过需要注意的是:两个数组的元素个数必须相同,不然就会出现一个警告信息:
Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in
但数组元素数量是一致的 还是总报这个错误
这个问题没搞明白,有懂的大侠可评论告知!谢谢
我暂时的解决办法:
//屏蔽PHP错误和提示 error_reporting(E_ALL^E_NOTICE); //屏蔽PHP的警告 error_reporting(E_ALL^E_WARNING);
评论回复