簡體   English   中英

如何在Php中更改關聯數組的數組結構

[英]How to change the array structure of associative array in Php

我想更改陣列,我該如何進行更改。

Array ( [0] => 53720 [1] => Array( ['Build Quality'] => 1=>10, 2=>9, 3=>7 ['Versatality'] => 1=>9, 2=>8, 3=>7 ['value'] => 1=>8, 2=>6, 3=>5 ) );

至:

Array ( 53720 =>['Build Quality' => [1=>10, 2=>9, 3=>7], 'Versatality' => [1=>9, 2=>8, 3=>7], 'value' => [1=>8, 2=>6, 3=>5] ] );

function get_array(){

  $factor = array([0] => 'Build Quality' [1] => 'Versatality' [2] => 'Value');  
  $rank = array([0] => 1=>10,2=>9,3=>7 [1] => 1=>9,2=>8,3=>7 [2] => 1=>8,2=>6,3=>5);  
  $assoc_array = array_combine($factor, $rank);
  $post_id = get_current_post_id(); //gives 53720   
  $result = array();
  array_push($result, $post_id, $assoc_array);  
  print_r($result);  
  return $result[$post_id];

/* output: Array ([0] => 53720 [1] => Array (['Build Quality'] => 1=>10,2=>9,3=>7 ['Versatality'] => 1=>9,2=>8,3=>7 ['Value'] => 1=>8,2=>6,3=>5)) */ 
}

您可以直接將元素添加到關聯數組:

$result = [];
$result[$post_id] = $assoc_array;

您還可以直接使用鍵和值來啟動一個:

$result = [
    $post_id => $assoc_array
];

還請記住,如數組PHP文檔中所述,不能將任何變量用作鍵:

鍵可以是整數或字符串。 該值可以是任何類型。

暫無
暫無

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

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