簡體   English   中英

PHP多維數組操作:將索引替換為其值之一

[英]php multi-dimensional array manipulation: replace index by one of its values

我想通過使用其子鍵值之一作為索引來使此多維數組更具可讀性。 所以這個數組:

array(
[0]=>array('group_id'=>'2','group_name'=>'red','members'=>array()),
[1]=>array('group_id'=>'3','group_name'=>'green','members'=>array()),
[2]=>array('group_id'=>'4','group_name'=>'blue','members'=>array()), 
);

應該變成這個:

array(
[2]=>array('group_name'=>'red','members'=>array()),
[3]=>array('group_name'=>'green','members'=>array()),
[4]=>array('group_name'=>'blue','members'=>array()), 
);

當然,我可以遍歷並重建陣列,但是我想知道專家對此有何看法?

我將創建一個索引,該索引使用引用指向原始數組中的行。 嘗試這樣的事情:

$group_index = array();
foreach($foo as &$v){
  $g = $v['group_id'];
  if(!array_key_exists($g, $group_index)){
    $group_index[$g] = array();
  }
  $group_index[$g][] = $v;
}

echo print_r($group_index[2], true);

# Array
# (
#     [0] => Array
#         (
#             [group_id] => 2
#             [group_name] => red
#             [members] => Array
#                 (
#                 )
# 
#         )
# 
# )

注意:索引將始終返回一個數組。 如果您有多個具有相同group_id項目,則所有項目都將group_id到結果中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM