2016-03-08 40 views
1

我想创建一个包含多个数组的数组。每个人都有一个名字。我的代码是非常基本的:PHP - 如何命名数组

$main_array = array(); 

    $sub_array = array(); 

    $example1 = array("value1"); 
    $example2 = array("value2"); 
    $example3 = array("value3"); 

    array_push($sub_array,$example1); 
    array_push($sub_array,$example2); 
    array_push($sub_array,$example3); 

    array_push($main_array,$sub_array); 

这将产生以下结果:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [0] => value1 
       ) 

      [1] => Array 
       (
        [0] => value2 
       ) 

      [2] => Array 
       (
        [0] => value3 
       ) 

     ) 

) 

我希望我能有这样的事情,而不是:

["main_array"] => Array 
(
    ["sub_array"] => Array 
     (
      ["example1"] => Array 
       (
        [0] => value1 
       ) 

      ["example2"] => Array 
       (
        [0] => value2 
       ) 

      ["example3"] => Array 
       (
        [0] => value3 
       ) 

     ) 

) 

是,即使可能吗?

回答

4

尝试用这种

$sub_array['example1'] = $example1; 
$sub_array['example2'] = $example2; 
$sub_array['example3'] = $example3; 

代替

array_push($sub_array,$example1); 
array_push($sub_array,$example2); 
array_push($sub_array,$example3); 
+0

This wor ked完美,谢谢! – Lee

+0

虽然这个答案并没有真正解决“main_array”和“sub_array”部分。 –

3

看看PHP的文档和关联数组... http://php.net/manual/en/language.types.array.php

$arr = array(
    "main_array" => array(
     "sub_array" => array(
      "example1" => array("value1"), 
      "example2" => array("value2"), 
      "example3" => array("value3"), 
     ) 
    ) 
); 
0

您可以分配$例如数组到相关阵列中:

$main_array = array(); 
$sub_array = array(); 
$example1 = array("value1"); 
$example2 = array("value2"); 
$example3 = array("value3"); 

$sub_array['example1'] = $example1; 
$sub_array['example2'] = $example2; 
$sub_array['example3'] = $example3; 

$main_array['sub_array'] = $sub_array; 
1

是的,你只需要设置关键的元素:

$main_array = array(); 

$sub_array = array(); 

$example1 = array("value1"); 
$example2 = array("value2"); 
$example3 = array("value3"); 

$sub_array['example1'] = $example1; 
$sub_array['example2'] = $example2; 
$sub_array['example3'] = $example3; 


$main_array['sub_array'] = $sub_array; 

虽然有一点好处,以创建所有这些单独的阵列时,你可以在一个去创造$main_array

$main_array = array(
    'sub_array' => array(
     'example1' => array("value1"), 
     'example2' => array("value2"), 
     'example3' => array("value3"), 
    ) 
); 

此外,由于PHP 5.4可以使用短阵列语法:

$main_array = [ 
    'sub_array' => [ 
     'example1' => ["value1"], 
     'example2' => ["value2"], 
     'example3' => ["value3"], 
    ] 
]; 
+0

感谢Steve对这样的详细解释,尤其是节省$ main_array的想法。该便士终于下降了! – Lee