Foreach内でphp変数をインクリメントすることは可能ですか?私は外で宣言することによってループする方法を知っています。
以下の構文のようなものを探しています
foreach ($some as $somekey=>$someval; $i++)
{
}
いいえ、使用する必要があります
$i = 0;
foreach ($some as $somekey=>$someval) {
//xyz
$i++;
}
foreach ($some as $somekey=>$someval)
{
$i++;
}
怠惰なやり方は次のとおりです。
{
$i=1;
foreach( $rows as $row){
$i+=1;
}
}
、ただし、foreachの後に存在しないように、または最後に設定を解除するには、foreachのスコープを設定する必要があります。
$i=1;
foreach( $rows as $row){
$i+=1;
}
unset($i);
、しかし、leopoldが書いたように、そのためのサイクルに使用する必要があります。
ここでは古いものだと思いますが、これが私の考えです。
$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をインクリメントする必要があります。
[。
$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++;
}
foreach ($some as $somekey=>$someval)
{
$i++;
}
foreach ($some as $somekey=>$someval)
{
$i++;
}
iは単なる変数です。使用しているアイテムを反復処理するために使用されますが、他のアイテムと同じように変更できます。
これでうまくいきます! 0からカウント/インクリメントを開始する場合は、foreachループの前に$ i = 0を定義する必要があることに注意してください。
$i = 0;
foreach ($some as $somekey=>$someval) {
$i++;
}
使用しない理由はありますか
foreach ($some as $somekey=>$someval)
{
$i++;
}
?