PHP 仅当字符串匹配时回显

PHP echo only if string match

我正在处理从外部 json 页面回显的内容。

但是我只需要它回显 ($sub = 'word') 但我的代码只是将所有 $sub 重命名为 'word' 而不是省略那些不 = 'word'

<?php
$jsonurl = "http://site/page.json";
$json = file_get_contents($jsonurl);
$json_output = json_decode($json);

foreach ($json_output as $page) {
    foreach($page->levels as $level) {
        if (isset($level->sub)) {
            $sub = $level->sub;
            $no  = $level->no;
        if ($sub = 'YES!') { /*Here is the problem*/
            echo $sub . '|'. 'http://site/level/' . $no . '<br />';
        }
    }
}}
?>

您使用赋值 (=) 而不是等于 (==)

它应该是这样的:

if ($sub == 'YES!') {
    echo $sub . '|'. 'http://site/level/' . $no . '<br />';
}