Mixtype

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

Mixtype No.25 Last Update On 2010-01-12 2009 php

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

Mixtype No.25 Last Update On 2010-01-12 2009 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<&lrz;$title<>$url<>」の順でループ処理をしなさいと言う一文です。

【PHP正規表現(末尾にマッチしたら代入)】

if		(ereg("9$", $log))	{$count = 9;}
elseif (ereg("8$", $log)) {$count = 8;}

$logの末尾の文字が「9」だったら、$countに9を代入。「8」だったら8を代入。