web-dev-qa-db-ja.com

php foreach内の値をインクリメントしますか?

Foreach内でphp変数をインクリメントすることは可能ですか?私は外で宣言することによってループする方法を知っています。

以下の構文のようなものを探しています

foreach ($some as $somekey=>$someval; $i++)
{

}
4
gopivignesh.m

いいえ、使用する必要があります

$i = 0;
foreach ($some as $somekey=>$someval) {
    //xyz
    $i++;
}
37
Ananth
foreach ($some as $somekey=>$someval)
{
     $i++;


}
5
Zoltan Toth

怠惰なやり方は次のとおりです。

{
    $i=1;
    foreach( $rows as $row){
        $i+=1;
    }
}

、ただし、foreachの後に存在しないように、または最後に設定を解除するには、foreachのスコープを設定する必要があります。

$i=1;
foreach( $rows as $row){
    $i+=1;
}
unset($i);

、しかし、leopoldが書いたように、そのためのサイクルに使用する必要があります。

2
Matas Lesinskas

ここでは古いものだと思いますが、これが私の考えです。

$some = ['foo', 'bar'];

for($i = 0; $i < count($some); $i++){
 echo $some[$i];
}

--更新-

$some = ['foo', 'bar'];
$someCounted = count($some);

for($i = 0; $i < $someCounted; $i++){
 echo $some[$i];
}

それはあなたが最初に探しているものを達成するでしょう。
それでも、インデックス$ iをインクリメントする必要があります。
[。

1
leopold
$dataArray = array();
$i = 0;
foreach($_POST as $key => $data) {
    if (!empty($data['features'])) {
        $dataArray[$i]['feature'] = $data['features'];
        $dataArray[$i]['top_id'] = $data['top_id'];
        $dataArray[$i]['pro_id'] = $data['pro_id'];
    }
    $i++;
}
1
Majid Mushtaq
foreach ($some as $somekey=>$someval)
{
    $i++;
}
0
Nadir Sampaoli
foreach ($some as $somekey=>$someval)
{
 $i++;
}

iは単なる変数です。使用しているアイテムを反復処理するために使用されますが、他のアイテムと同じように変更できます。

0
YYZ

これでうまくいきます! 0からカウント/インクリメントを開始する場合は、foreachループの前に$ i = 0を定義する必要があることに注意してください。

$i = 0;
foreach ($some as $somekey=>$someval) {
    $i++;
}
0
minethisis

使用しない理由はありますか

foreach ($some as $somekey=>$someval)
{
$i++;
}

0
axiomer