Mixtypexreaad
Mixtype > Type25
Last modified on 2008-04-30 06:34:02 JST-9 in mixtype
PHP 番号の無い配列に行数の番号を順番に付けるには

PHP 番号の無い配列に行数の番号を順番に付けるには

番号の無い配列のデータに行数の番号を順番に付けるには、foreach文でループ処理の設定値に使う「$i」を利用すると簡単です。「$i」にゼロを代入し、foreach文によるループ処理を行い、echoで書き出す所に「$i」を挿入することで完成です。以下例文。
$arr = file("aaa.log");
$i = 0;
foreach ($arr as $line) {
list($url,$title)= split ("<>", $line);
$i++;
if ( $i > 300 ) { last; }
else { echo "$i<>$title<>$url<>\n"; }
}
exit;
と言うような感じになります。
例えば、タイトルとURLだけのリストデータに番号を振り分けて管理するなど、知っているだけで用途は無限に広がるような気がしなくもなくもなくもないです。ちなみに、「$i++」は「i=i+1」と言う意味で、つまり「$i」の値を一つ増やして下さいと言う一文、「300」は任意の数字に変えて下さい。尚、何故「$i」を使うのかは良く知りません。「$i」の代わりに「$a」や「$b」としても動くのですが、初めに勉強したサイトで「$i」を使っていたので現在も使っています。

foreach (配列 as 値)
list(変数1,変数2,変数3・・・)= split ("区切り文字", 値);
この一文で、区切り文字で区切った配列を一つ一つ変数1、2、3へ代入しています。

$i++;
if ( $i > 300 ) { last; }
else { echo "$i<>$title<>$url<>\n"; }
「$i」の値を一つ増やし、もし「$i」が300を超えたらループ処理を終了、
越えていない間は、「$i<>$title<>$url<>」の順でループ処理をしなさいと言う一文です。

i++とi--を組み合わせてトータルで同じにする。
例えば、ログを読み込んでforeachで上から順番に抽出していく際、if文で条件を指定し該当するものを省いていく場合、直下のif文にi--を入れることで、該当するものを省いた分を含めずに設定値分のログを抽出できるようになります。
検索用マーカー
PHP 番号の無い配列に行数の番号を順番に付けるには
PHP To put the number of the number of lines on the array without the number

PHP - 配列に番号

このサイトでは一部のリンクにアフィリエイトプログラムを利用しています。リンクをクリックして頂くと、当サイトで紹介している商品を、各々オンラインショッピングサイトで実際にご購入頂けます。尚、ご購入の際には提携先ショップの注意書き等をご確認の上お買い求め下さい。
プライバシーポリシー