多个 if 条件 PHP



我是PHP的新手,我正在制作这个页面,如果记录中有任何值,我想显示数据库中的记录。我正在使用If condition但是,它不起作用。这是我的代码:

$active_proof=FALSE;
while ($row_proof = mysqli_fetch_assoc($res_proof)){
if ($row_proof['proof_cat'] == "Proof of Address"  && $row_proof['proof_cat'] == "Proof of Identity"  ){
echo '<tr>
<td>'.$row_proof['proof_cat'].'</td>
<td>'.$row_proof['proof_doc'].'</td>
</tr>';
$active_proof = TRUE;
}else{
$active_proof  = FALSE;
}
}

帮帮我!

这段代码永远不会成为现实

if ($row_proof['proof_cat'] == "Proof of Address"  && $row_proof['proof_cat'] == "Proof of Identity"  ){

因为单列"proof_cat"不能携带 2 个值。如果你的意思是OR,那么它将成为

if ($row_proof['proof_cat'] == "Proof of Address"  || $row_proof['proof_cat'] == "Proof of Identity"  ){

你确定要检查这两个值proof_cat吗?还是为了proof_catproof_doc??我认为应该是...

$active_proof=FALSE;
while ($row_proof = mysqli_fetch_assoc($res_proof)){
if (($row_proof['proof_cat'] == "Proof of Address")  && ($row_proof['proof_doc'] == "Proof of Identity"  )){
echo '<tr>
<td>'.$row_proof['proof_cat'].'</td>
<td>'.$row_proof['proof_doc'].'</td>
</tr>';
$active_proof = TRUE;
}else{
$active_proof  = FALSE;
}
}

一个字符串不能等于 2 个不同的值,我假设你想要一个逻辑 OR (||( 运算符而不是 AND (&&(。

执行此操作的一种简洁方法是使用in_array,尤其是具有 2 个以上值:

if (in_array($row_proof['proof_cat'], ["Proof of Address", "Proof of Identity"])) {

如果我没有误解您的代码,那么您需要此$row_proof['proof_cat'],并且$row_proof['proof_doc']不是两个$row_proof['proof_cat']同时检查">地址证明"和">身份证明",因为这是不可能的。所以我认为你在这里做了一些错字,这就是为什么它不适合你。

但是,如果您只想检查任何值是否等于$row_proof['proof_cat']那么请使用 in_array(( 代替,如下所示

如果要检查任何等于

if (in_array($row_proof['proof_cat'], ["Proof of Address", "Proof of Identity"])) {
//your code will goes here
}

如果是错别字:为什么我把它解释为错别字

你的这个代码块告诉我把它当作一个错字。

'.$row_proof['proof_cat'].">

'.$row_proof['proof_doc'].">

$active_proof=FALSE;
while ($row_proof = mysqli_fetch_assoc($res_proof)){
if ($row_proof['proof_cat'] == "Proof of Address"  && $row_proof['proof_doc'] == "Proof of Identity"  ){
echo '<tr>
<td>'.$row_proof['proof_cat'].'</td>
<td>'.$row_proof['proof_doc'].'</td>
</tr>';
$active_proof = TRUE;
}else{
$active_proof  = FALSE;
}
}

最新更新