whileループでforeachにifがある。私は別の文字列で文字列を探しています。whileループでforeachで応答を繰り返す場合
$base = 'someurl';
$url = $base;
while(1){
$json = json_decode(file_get_contents($url));
$more = $json->next_page;
$next = $json->next_page_number;
if($more){
$url = $base.'&page='.$next;
}else{
break;
}
foreach($json as $data){
$c = $data->text; // search in
$s = 'string';
$t = 'prefix1'.$s; // search for
$m = 'prefix2'.$s; // search for
if((strpos($c, $t) || strpos($c, $m)) !== false){
echo '<p>hello, i found one or more ($t and/or $m) of the search criteria in the text string $c .</p>';
break;
}
}
}
問題は、私が達成したい何
:(私は二回if文からエコーを得ることである$ tと/または$ mが存在する場合、唯一のエコーがONCE実現するためにあります$ cで。
限り、私はそれを見ると、その行があるため、 '(1)中の無限にエコーします;' – Jerodev
@Jerodev - いや、元のループにif/breakがあります。私の悪いことです。更新されたコードを参照してください;) – axelra82