首頁 > 後端開發 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板