本篇文章给大家分享的内容是关于PHP数组问题的处理方法,有着一定的参考价值,有需要的朋友可以参考一下
一、一个数组里面有两组数据,指定的key的value作为新的索引,另一个key的value作为新索引的valuepublic static function index(array $array, $name){
$indexedArray = array();
if (empty($array)) {
return $indexedArray;
}
foreach ($array as $item) {
if (isset($item[$name])) {
$indexedArray[$item[$name]] = $item;
continue;
}
}
return $indexedArray;
}例如:
$array = array(array('id'=>1,'name'=>'xiaogou'),array('id'=>2,'name'=>'xiaomao')直接return index($array,'id');
结果就是array('1'=>'xiaogou','2'=>'xiaomao');二、获取数组指定key的value集合public static function column(array $array, $columnName){
if (empty($array)) {
return array();
}
$column = array();
foreach ($array as $item) {
if (isset($item[$columnName])) {
$column[] = $item[$columnName];
}
}
return $column;
}
例如:$array = array(array('id'=>1,'name'='xiaogou'),array('id'=>2,'name'=>'xiaomao'));
$array_ids = column($array,'id');
$array_ids 结果就是array(0=>1,1=>2);三、获取数组指定key的值(与上面的集合不同,这个是直接获取值)public static function get(array $array, $key, $default){
if (isset($array[$key])) {
return $array[$key];
} else {
return $default;
}}四、替换多维数组的相同键的值public static function rename(array $array, array $map){
$keys = array_keys($map);
foreach ($array as $key => $value) {
if (in_array($key, $keys)) {
$array[$map[$key]] = $value;
unset($array[$key]);
}
}
return $array;
}