首页 > 后端开发 > php教程 > 关于PHP数组问题的处理方法

关于PHP数组问题的处理方法

零到壹度
发布: 2023-03-23 15:16:01
原创
1643 人浏览过


本篇文章给大家分享的内容是关于PHP数组问题的处理方法,有着一定的参考价值,有需要的朋友可以参考一下

一、一个数组里面有两组数据,指定的key的value作为新的索引,另一个key的value作为新索引的value

public 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;
  }
登录后复制

以上是关于PHP数组问题的处理方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板