极品分享

PHP二维数组排序示例(按数组中某个值进行整个数组重新排序)

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);


2014-12-12 0 /
PHP学习
/
标签: 

评论回复

回到顶部