21,886
社区成员
发帖
与我相关
我的任务
分享
foreach ($values as $k => $v){
$result[$k] = $array[$k];
}
$result[$k] 这里 $k应该没必要,我觉的应该去掉,$result[] = $array[$k];才对。
<?php
function test($array=array(),$key='',$paixu=true)
{
$result=array(); //定义最终返回的数组
foreach($array as $k => $v){
$values[$k]= isset($v[$key]) ? $v[$key] : '';
}
/**
* 第一循环
*
* $k = 0
* $v = array('post_id'=>1,'title'=>'如何学好PHP','reply_num'=>582),
*
* $key = reply_num
* $v[$key] = 582
*
* $values[0] = 582
*
* 最终结果
* $values = [0=>582 , 1=>182 , 2=>982]
*/
unset($v);
$paixu ? asort($values) : arsort($values);
/**
* sort()函数,按照键值排序,键名将会被重置,不保持关联关系
*
* asort() a=assoc关联 sort排序 关联升序:关联排序即按照键值升序排序,保持键名=>键值的对应关系
* arsort() r=reserve反转 关联降序
*
* 最终结果
* $values = [1=>182 , 0=>582 , 2=>982]
*/
foreach ($values as $k => $v){
$result[$k] = $array[$k];
}
/*
最终结果
$result = array(
array('post_id'=>2,'title'=>'PHP数组常用函数汇总','reply_num'=>182),
array('post_id'=>1,'title'=>'如何学好PHP','reply_num'=>582),
array('post_id'=>3,'title'=>'PHP字符串常用函数汇总','reply_num'=>982),
);*/
return $result;
}