2

我有一个关联数组。我这样迭代的两个维度

foreach ( $order_information as $sector_index => $sector_value ){
echo 'sector : ' . current($order_information) ;
echo '<br>';
    foreach ( $sector_value as $line_index => $line_value ){

    }
}

current()是试图获得循环所在的迭代。看起来这应该给我那个。但是,该页面的其他地方有您喜欢的建议

$index = 0
foreach ( $array as $key => $val ) {
    echo $index;
    $index++;
} 

我想知道我是否使用不正确的电流,因为echo 'sector : ' . current($order_information);只是打印sector : Array

$index++ 语法不好?有一个更好的方法吗?

4

1 回答 1

4

回答

foreach据我所知,PHP 的循环中没有内置数字计数器。

所以你需要你自己的计数器变量。您的示例代码看起来很不错。

$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)

看看手册,让思路清晰。

于 2012-11-21T20:53:02.253 回答