在数组中定义数组- php


Defining array in array in array - 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'];

任何想法?

你可以这样做:

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

如果你需要它更动态,你可以使用这样的变量:

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

收集数组的顺序由低到高颠倒,这样收集起来就很容易而不会混淆,例如

$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'];