PHP 如果变量 = a 而不是 = b
PHP If variable = a and not = b
php 7.3.18
mysql 5.7.30
这里是相关的代码,它立即失败,所以我很感激它被更正。
第一个'if'没问题,但问题出在第2个+第3个
$targetcatid2、$targetcatid3、$targetweight2、$targetweight3 已正确声明。
目的是如果一个产品属于Category2而不属于Category3那么重量就会变成Weight2
反之亦然。
$row2=mysqli_fetch_array($select2);
if($row2['category_id']== $targetcatid){
$row['product_weight']= $targetweight;
}
if($row2['category_id']== $targetcatid2 && !== $targetcatid3){
$row['product_weight']= $targetweight2;
}
if($row2['category_id']== $targetcatid3 && !== $targetcatid2){
$row['product_weight']= $targetweight3;
}
我最近的努力是:
if($row2['category_id']== $targetcatid){
$row['product_weight']= $targetweight; }
if($row2['category_id']== $targetcatid2 && $row2['category_id']!== $targetcatid3){
$row['product_weight']= $targetweight2; }
elseif($row2['category_id']== $targetcatid3 && $row2['category_id']!== $targetcatid2){
$row['product_weight']= $targetweight3; }
elseif($row2['category_id']== $targetcatid2 && $row2['category_id']== $targetcatid3){
$row['product_weight']= $targetweight3; }
我发现新条件不起作用,即使单独使用也是如此。
但是不明白为什么:
elseif($row2['category_id'] == $targetcatid2 && $row2['category_id'] == $targetcatid3){ $row['product_weight'] = $targetweight3; }
您没有正确理解 && 运算符。
而不是这个
if($row2['category_id']== $targetcatid2 && !== $targetcatid3){
你应该分别比较条件。
if($row2['category_id']== $targetcatid2 && $row2['category_id'] !== $targetcatid3){
php 7.3.18
mysql 5.7.30
这里是相关的代码,它立即失败,所以我很感激它被更正。
第一个'if'没问题,但问题出在第2个+第3个
$targetcatid2、$targetcatid3、$targetweight2、$targetweight3 已正确声明。
目的是如果一个产品属于Category2而不属于Category3那么重量就会变成Weight2 反之亦然。
$row2=mysqli_fetch_array($select2);
if($row2['category_id']== $targetcatid){
$row['product_weight']= $targetweight;
}
if($row2['category_id']== $targetcatid2 && !== $targetcatid3){
$row['product_weight']= $targetweight2;
}
if($row2['category_id']== $targetcatid3 && !== $targetcatid2){
$row['product_weight']= $targetweight3;
}
我最近的努力是:
if($row2['category_id']== $targetcatid){ $row['product_weight']= $targetweight; }
if($row2['category_id']== $targetcatid2 && $row2['category_id']!== $targetcatid3){ $row['product_weight']= $targetweight2; }
elseif($row2['category_id']== $targetcatid3 && $row2['category_id']!== $targetcatid2){ $row['product_weight']= $targetweight3; }
elseif($row2['category_id']== $targetcatid2 && $row2['category_id']== $targetcatid3){ $row['product_weight']= $targetweight3; }
我发现新条件不起作用,即使单独使用也是如此。 但是不明白为什么:
elseif($row2['category_id'] == $targetcatid2 && $row2['category_id'] == $targetcatid3){ $row['product_weight'] = $targetweight3; }
您没有正确理解 && 运算符。
而不是这个
if($row2['category_id']== $targetcatid2 && !== $targetcatid3){
你应该分别比较条件。
if($row2['category_id']== $targetcatid2 && $row2['category_id'] !== $targetcatid3){