PHPでこのようなif文を書けますか?それとも私は考えすぎなのでしょうかpublic function getAreaList($pid = -1) { $map = array(); $pid != -1 && $map['pid'] = $pid; return $this->where($map)->order('`area_id` ASC')->findAll(); }ログイン後にコピー $pid != -1 && $map['pid'] = $pid; return $this->where($map)->order('`area_id` ASC')->findAll(); これら 2 つの文には条件付きの関連性はありませんね?上の文が && でつながっているのはなぜですか?直接書き込みあり $pid != -1; $map['pid'] = $pid; 違いは何ですか? 共有先: -----解決策--------------------------------&& は論理 AND 演算であり、アサートされます。これは、前の式が true の場合にのみ次の式が実行されることを意味します。 false の場合、2 番目の式は実行されません ------解決策----- $ pid != -1 && $map['pid'] = $pid; に相当 if($pid != -1) { $map['pid'] = $pid; } これは、&& が短絡演算であるため、&& の前の式が成立しない場合、次の式は実行されません。 実際、このように書くことはお勧めできません。第 1 に、&& の後の内容が変わると間違いが起こりやすくなります。