php如何访问数组内的数组

时间:2013-03-15 18:53:04

标签: php

我在PHP中有一个以下形式的数组 -

Array(
 0 => 
  array (
    0 => 'var1=\'some var1\'',
    1 => 'var2=\'some_var2\'',
    2 => 'var3=\'some_var3\'',
  ))

我希望它显示为 -

array (
    0 => 'var1=\'some var1\'',
    1 => 'var2=\'some_var2\'',
    2 => 'var3=\'some_var3\'',
  )

那怎么办呢?

3 个答案:

答案 0 :(得分:1)

你试过......

$inner_array = $outer_array[0];

var_dump($inner_array);

...

阅读here in the manual有关php中数组的更多详细信息。

答案 1 :(得分:0)

多维数组通常如下所示工作

$shop = array( array("rose", 1.25 , 15),
           array("daisy", 0.75 , 25),
           array("orchid", 1.15 , 7) 
         ); 


echo $shop[0][0]." costs ".$shop[0][1]." and you get ".$shop[0][2];

答案 2 :(得分:0)

foreach构造的语法如下:

foreach ($array_expression as $value) {
   statement
}

foreach ($array_expression as $key => $value) {
   statement
}

第一个表单遍历$ array_expression给出的数组。在每个循环中,当前元素的值被赋值为$ value,内部数组指针被提前一个,以便在下一个循环中访问下一个元素。

第二种形式做同样的事情,除了当前元素的键将被分配给每个循环上的变量$ key。

上面的foreach语法在构造时也类似于以下内容:

while (list(, $value) = each($array_expression)) {
   statement
}

while (list($key, $value) = each($array_expression)) {
   statement
}

即使for循环也可用于使用以下语法处理和循环遍历数组的所有元素:

$count = sizeof($arr_expression);
for ($i = 0; $i < $count; $i++) {
   $value = $arr_express[$i];
   statement
}

for ($i = 0, $item = ''; false != ($value = $arr_expression[$i]); $i++) {
   statement
}

“foreach”的嵌套循环也可用于访问多维数组。这是一个示例数组以及访问其值数据的方法。例如:

foreach ($array_expression as $arr_value) {
   foreach ($array_value as $value) {
      statement
   }
}

以下是访问数组的示例代码:

$contents = array(
   "website_1" => array("name" => "StackOverFlow",
                        "url" => "http://www.stackoverflow.com",
                        "favorite" => "yes"),
   "website_2" => array("name" => "Tip and Trick",
                        "url" => "http://www.tipandtrick.net",
                        "favorite" => "yes")
);

要检索数据,程序员可以使用以下语法直接指定导致该值的键,这将打印“我的数字生活”。

echo $contents['website_1']['name'];

但是,在处理大型数组时,或者当键和名称的值动态更改时,上述语法将变得不切实际。在这种情况下,“foreach”函数可用于递归访问数组。

foreach ($contests as $key => $list) {
   echo "Website No.: " . $key . "\n";
   echo "Name: " . $list['name'] . "\n";
   echo "URL: " . $list['url'] . "\n";
}

输出将是:

Website No.: website_1
Name: StackOverFlow
URL: http://www.stackoverflow.com/
Website No.: website_2
Name: Tip and Trick
URL: http://www.tipandtrick.net/