• ベストアンサー

同じ値の場合は飛ばしたい

お世話になります。 perlでは以下のような形で $cの値がまったく同じものは 以降のループでnextにする事ができますが、 while (<IN>) { ($a,$b,$c) = split(/<>/); ($work{$c}++) && next; } これと同じような事をphpで実現するには どのように記述すればよいのでしょうか。 色々検索してみたのですがどうしても分かりません。 何卒よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

phpはほとんどわからないんだけど・・・ とりあえず、nextはphpではcontinueみたいです。 こんな感じでしょうか。 $fh=fopen($file, "r"); while(!feof($fh)){ $line=fgets($fh); list($a,$b,$c) = split("<>",$line); if($work[$c]++)continue; //$cが初めての時の処理 } fclose($fh); ファイルの読み込みあたりはいい加減です(と言うかわからない)。 誰か違っていたら訂正してください。 根本的に違っていたらすみません。

miku2035
質問者

お礼

fumufumu_2006 様 ありがとうございます。 ご教授いただいた方法で perlと同じようにうまくいきました。 if($work[$c]++)continue; phpではこう書くのですね・・・。 勉強になります。 本当に助かりました。ありがとうございました。

関連するQ&A