我有一个关联数组。我正在迭代的两个维度
foreach ( $order_information as $sector_index => $sector_value ){
echo 'sector : ' . current($order_information) ;
echo '<br>';
foreach ( $sector_value as $line_index => $line_value ){
}
}
current()
是尝试获取循环所在的迭代。It seems like this应该给我这个。但是,在该页面的其他地方有一些建议,你只是喜欢
$index = 0
foreach ( $array as $key => $val ) {
echo $index;
$index++;
}
我想知道我是否正在使用当前错误,因为echo 'sector : ' . current($order_information);
只打印sector : Array
$ index ++语法错误吗?有更好的方法吗?
答案 0 :(得分:4)
据我所知,PHP中的foreach
循环中没有构建数字计数器。
所以你需要自己的计数器变量。你的示例代码看起来非常好。
$index = 0;
foreach($array as $key => $val) {
$index++;
}
顺便说一下,$index++;
没问题。
这是一个示例,说明哪个变量存储哪个值。
$array = array(
"first" => 100,
"secnd" => 200,
"third" => 300,
);
$index = 0;
foreach($array as $key => $val) {
echo "index: " . $index . ", ";
echo "key: " . $key . ", ";
echo "value: " . $val . "\n";
$index++;
}
输出将是。
index: 0, key: first, value: 100
index: 1, key: secnd, value: 200
index: 2, key: third, value: 300
我认为你误解了current($array)
。它为您提供内部数组指针指向的值,可以使用next($array)
,prev($array)
和end($array)
移动它。
看一下manual,让思考清楚。