2015-09-13 21 views
0

我想動態創建下面的數組:在陣的陣定義數組 - PHP

$aSettings = array("text"=> 
        array("icon_type" => 
          array(
           "name"=>"icon_type", 
           "method"=>"dropdown", 
           "option"=>"", 
           "default"=>"" 
          ), 
          "column" => 
          array(
          "name"=>"column_count", 
          "method"=>"dropdown", 
          "default"=>"1" 
          ) 
         ) 
        ) 

我不知道如何將數組聲明爲數組。

我有下面的代碼示例:

$aSettings=array(); 
$aSetting_type['text']=array(); 
$aSetting_name['icon_type']=array(); 
$aSetting_name['column']=array(); 
$aSetting_values1=array('name'=>'icon_type','method'=>'dropdown','option'=>'','default'=>''); 
$aSetting_values2=array('name'=>'column_count','method'=>'dropdown','default'=>1); 

我想我忽視的東西很簡單,但如何把這些數組到對方? 我希望能夠調用從數組作爲值:

$aSettings['text']['column']['name']; 

任何想法?

+0

理解的輸出,需要關於輸入的詳細信息即如何當前顯示的陣列或數據時'用於var_dump'?動態地闡述。 '$ aSetting_values2'不是數組,它必須拋出一個錯誤。 – Jigar

+0

您對setting_values中的拼寫錯誤是正確的,我糾正了這個錯誤。 VAR轉儲:陣列(1){[ 「文本」] =>陣列(2){[ 「icon_type」] =>數組(4){[ 「名稱」] =>串(9) 「icon_type」[」方法「] => string(8)」dropdown「[」option「] => string(0)」「[」default「] => string(0)」「} [」column「] => array(3) {[「name」] => string(12)「column_count」[「method」] => string(8)「dropdown」[「default」] => int(1)}}} – Abayob

+0

您提供的vardump你應該能夠獲取你想要的值,假設var_dump是數組'$ aSettings',所以'echo $ aSettings ['text'] ['column'] ['name'];'和示例代碼不是動態的,你已經手動編寫了所有的值,所以我們不知道什麼是動態的。 – Jigar

回答

0

你可以這樣做:

$aSettings['text']['icon_type'] = $aSetting_values1; 
$aSettings['text']['column'] = $aSetting_values2; 

如果你需要更多的動態,你可以使用變量,像這樣:

$type = 'text'; 
$name1 = 'icon_type'; 
$aSettings[$type][$name1] = $aSetting_values1; 
0

收集陣列是反向低級到高級的順序,它會很容易收集沒有混淆,例如

$icon_type = array(
    "name"=>"icon_type", 
    "method"=>"dropdown", 
    "option"=>"", 
    "default"=>"" 
); 

$column = array(
    "name"=>"column_count", 
    "method"=>"dropdown", 
    "default"=>"1" 
); 

$text = array( 
    "icon_type" => $icon_type, 
    "column" => $column 
); 

$aSettings = array(
    "text"=> $text 
); 

一旦你收集這樣的數組,你可以很容易ÿ訪問任何元件陣列中即echo $aSettings['text']['column']['name'];