如何遍历此循环单独获取每个项目

时间:2010-10-27 20:05:40

标签: php

我有这个数组我想分别得到值“ABC”,“1”,“2”等等,并将它们存储在单独的变量中。 我使用过嵌套的foreach但是无法得到它

    array(2) {
       [0] => array(3) {
          [0] => string(10) "ABC"
          [1] => string(1) "1"
          [2] => string(2) "2"
     } [1] => array(3) {
          [0] => string(10) "BCD118"
          [1] => string(1) "1"
          [2] => string(2) "9"
    }
   }

4 个答案:

答案 0 :(得分:4)

您可以使用recursiveiteratoriterator

$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));

foreach ($it as $key => $value) {
    echo $key . " - " . $value."\n";
}

会给你:

0 - ABC
1 - 1
2 - 2
0 - BCD118
1 - 1
2 - 9

答案 1 :(得分:2)

根据您对Mike C的$ _SESSION评论,

foreach( $outer_array as $outer_key => $inner_array ) 
{
   foreach( $inner_array as $key => $value ) 
   {
      $_SESSION[$outer_key.'-'.$key] = $value;
   }
}

你需要唯一的键或者(例如)'BCD118'和'ABC'都是键0,所以'ABC'会被覆盖。

修改 您可以将$outer_key附加到内部$key以获取唯一的$ _SESSION键

这将产生键/值对

0-0 : ABC
0-1 : 1
0-2 : 2
1-0 : BCD118
1-1 : 1
2-2 : 9

答案 2 :(得分:1)

使用foreach循环......

foreach ($array as $key=>$value) 
{
   foreach ($array[$key] as $subkey=>$subvalue) 
   {
      echo "$subkey $subvalue\n";
   }
}

答案 3 :(得分:0)

你的数组是维度[2] [3],所以你应该可以这样做:

for($i = 0; $i < 2; $i++)
{
for($o = 0; $o < 3; $o++)
{
$variable = $array[$i][$o];
}
}

或带有foreach语句的等效表达式,具体取决于您要完成的任务。

当然有限制,因为你真的只能写入另一个数组。要将它们分成单独的变量,您可能只需要静态引用它们。