人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで0,1,2,3...と自動的に連番を振りたいと思っています。
具体的には配列のインデックスを自動的に割り当てるためです。
通常は下記のようにすれば問題ないと思うのですが、
$i = 0;
print $A[$i++];
print $A[$i++];
print $A[$i++];
この方法ですとifなど条件分岐した場合、
実際に読み込まれなかった部分の$i++はカウントされません。
実際に読み込まれるかどうか関係なく、
PHPスクリプトに書かれている順で、
連番を割り当てる方法はないものでしょうか?

●質問者: shinwa-tokyo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ

print $A[$i++]; を

$i++; と

print $A[$i]; に分けるしかないです。

それで if文とは 関係なしに $i++; すればいいだけです。

◎質問者からの返答

ご回答ありがとうございます。

>print $A[$i]; に分けるしかないです。

やっぱりそうですよね。

変数に頼らず、

スクリプトに登場する順でオートインクリメントするような機能は、

やっぱりないのでしょうかね…。


2 ● tobeoscontinue

print array_shift($A)

するという手もあります。

書かれている順ということではないのでif文などではやはり考慮が必要ですし、

位置を特定するのは逆に面倒でしょう。

$A[$i++]をarray_shift($A)に全置換で修正できます。

◎質問者からの返答

ありがとうございます。

array_shiftを使うという手もあるのですね。

参考になりました。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ