先把数组进行排序, 我这时按照总价来从低到高,排好后发现空值在最前面,所以又去把空值放入数组末尾
$data = array2Sort($data, 'TotalPrice', 'asc');
把空值的数组放入末尾 .. 2个方法在下面
$like = moveZeroEnd($like,'TotalPrice');
实例
/*** * 二维数组根据字段值排序 * @param $array * @param $keys * @param string $sort * @return array */ function array2Sort($array,$keys,$sort='asc') { $newArr = $valArr = array(); foreach ($array as $key=>$value) { $valArr[$key] = $value[$keys]; } ($sort == 'asc') ? asort($valArr) : arsort($valArr); reset($valArr); foreach($valArr as $key=>$value) { $newArr[$key] = $array[$key]; } return $newArr; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
/*** * 数组为空追加到末尾 * @param $array //数组 * @param $key //需要比对的键值 * @return bool */ function moveZeroEnd($array, $key){ if (empty($array)) return false; for ($i = 0; $i < count($array) ; $i++) { if ($array[$i][$key] == 0) { array_push($array, $array[$i]);//把为0的值du追加到末尾zhi unset($array[$i]); } } return $array; }
运行实例 »
点击 "运行实例" 按钮查看在线实例