我有这个数组我想分别得到值“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"
}
}
答案 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语句的等效表达式,具体取决于您要完成的任务。
当然有限制,因为你真的只能写入另一个数组。要将它们分成单独的变量,您可能只需要静态引用它们。