PHPでforeachでcontinueした結果をHTMLを挟んで別の場

Writer: admin Type: 友人関係の悩み Date: 2019-03-06 00:00
PHPでforeachでcontinueした結果をHTMLを挟んで別の場所に表示したいのですが、私の知識では、同じものを2つ書く以外の方法が思い浮かびませんでした。もっと効率よくするにはどうすればよいのでしょうか。<?php$lines = file('http://example.com/csv.csv');foreach($lines as $line){$data = explode(',',$line);if (条件1) { continue; }if (条件2) { continue; }echo "$data[0]";}?>ここにhtmlが書いてあります。<?php$lines = file('http://example.com/csv.csv');foreach($lines as $line){ $data = explode(',',$line);if (条件1) { continue; }if (条件2) { continue; }echo "$data[0]";//上の$data[0]と同じ結果}?>共感した0###echoせずに変数に格納しておけばいいのでは?<?php$out = "";$lines = file('http://example.com/csv.csv');foreach($lines as $line){$data = explode(',',$line);if (条件1) { continue; }if (条件2) { continue; }$out .= $data[0]; // 追加}echo $out;?>ここにhtmlが書いてあります。<?phpecho $out;?>(蛇足)csv.csvというファイルが「正しいフォーマットのCSVファイル」であれば、fgetcsvで読み込むべきです。fileだとデータ文字列内に「改行」が許されないし、explodeに至っては論外(改行がない前提でも、str_getcsvで処理するべき)。<?php$out = "";$fp = fopen('http://example.com/csv.csv', 'r');while (($data = fgetcsv($fp)) !== false) {if (条件1) { continue; }if (条件2) { continue; }$out .= $data[0]; // 追加}echo $out;?>ここにhtmlが書いてあります。<?phpecho $out;?>ナイス0
###無事にできるようになりました。ありがとうございました。

 

TAG