2008年4月11日

[PHP-users 33463] Re:Undefined offsetエラー

エラー行数とか書いてないので何ともいえませんが
Undefined offsetの意味から配列の指定に関する警告ではと推測できます。
doループ前に$iの初期化とwhile条件が間違っているのではないでしょうか?

$i = 0;
do {
$file = $Line[$i];
++$i;

$title = $Line[$i];
++$i;
$info1 = $Line[$i];
++$i;
while ( !(stristr($Line[$i],"<font")) ) {
$info1 .= $Line[$i];
++$i;
}

echo $file;echo $title;echo $info1;echo "<br>";
} while ( $i <= count($Line) );
では?(処理中身があっているかはみてません)

NaoyaHarasawa

kaz さんは書きました:
> おはようございます、奥井です。
>
> エラーログにPHP Notice: Undefined offset: 460123(カウントアップ値)のメッセージが沢山出ますが原因がわからず困っていますのでなにかアドバイスを頂たいと思います。
> スクリプトはhtml文からの抜き出しです。
> $lines = file('http://localhost/~sus/2008kayou.html');
> $j = 0;
> for ($i = 0;$i < count($lines);$i++){
> if (stristr($lines[$i],"<font")) {
> $check_char = 0;
> } else {
> $check_char = 1;
> }
>
> switch ($check_char) {
> case 0;
> $Line[$j] = $lines[$i];
> ++$j;
> ++$i;
> while ( !(stristr($lines[$i],"<hr")) ) {
> $Line[$j] = $lines[$i];
> ++$j;
> ++$i;
> }
> ++$j;
> break;
> case 1;
> break;
> }
> }
> do {
> $file = $Line[$i];
> ++$i;
> $title = $Line[$i];
> ++$i;
> $info1 = $Line[$i];
> ++$i;
> while ( !(stristr($Line[$i],"<font")) ) {
> $info1 .= $Line[$i];
> ++$i;
> }
>
> echo $file;echo $title;echo $info1;echo "<br>";
> } while ( $i > count($Line) );
>
> 抜き出したhtml文は$Lineに以下のようなものがいくつかはいります。
> <FONT size="4"><a href="2008/kayou-dorama/AM-nhk120080114-2130.mp3">20080114-2130.mp3</a><br></FONT>
> 「恋はやさし野辺の花よ」<br>
>                       【作】大橋 泰彦<br>
>                      【出演】山下 智子<br>
>                          安原 義人<br>
> これを$file $title $info1に入れるdo文でおかしくなって途中で表示されなくなります。
> エラーログをみると200MぐらいのサイズになっていてPHP Notice: Undefined offset: 460123(カウントアップ値)が沢山でています。
> do文のwhileあたりで大量にメッセージがでています。
> どこが駄目なのかご教授お願いします。
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2008年4月11日 10:55
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/72000
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。