簡體   English   中英

PHP如果條件在foreach循環內失敗

[英]PHP if condition fails inside a foreach loop

<?php
$key='APS';
$value='A|B|';
if ($key == 'APS'){
    $aps = $key;
    if (!empty($value)){
        if(preg_match("/\|/",$value)){

            $elephant = explode('|',$value);

            foreach ($elephant as $elekey=>$elevalue){
                if($elevalue = 'A'){
                    $elevalue_a=$elevalue;
                    if(isset($aps) && ($aps != '')){
                        if(isset($elevalue_a) && ($elevalue_a != '')){
                            echo $elevalue;
                            echo '<br>';
                        }
                    }
                }
                if($elevalue = 'B'){
                    $elevalue_a=$elevalue;
                    if(isset($aps) && ($aps != '')){
                        if(isset($elevalue_a) && ($elevalue_a != '')){
                            echo $elevalue;
                            echo '<br>';
                        }
                    }
                }
                if($elevalue = 'C'){
                    $elevalue_a=$elevalue;
                    if(isset($aps) && ($aps != '')){
                        if(isset($elevalue_a) && ($elevalue_a != '')){
                            echo $elevalue;
                            echo '<br>';
                        }
                    }
                }
                if($elevalue = 'D'){
                    $elevalue_a=$elevalue;
                    if(isset($aps) && ($aps != '')){
                        if(isset($elevalue_a) && ($elevalue_a != '')){
                            echo $elevalue;
                            echo '<br>';
                        }
                    }
                }
                if($elevalue = 'E'){
                    $elevalue_a=$elevalue;
                    if(isset($aps) && ($aps != '')){
                        if(isset($elevalue_a) && ($elevalue_a != '')){
                            echo $elevalue;
                            echo '<br>';
                        }
                    }
                }
            }
        }
        else{
            echo $singlevalue = $value;
        }
    }
    else {
        echo $value='NIL';
    }
}
?>

上面的代碼可能很長但是這是一個非常簡單的例子,如果執行你可以看到if條件將無法逃脫循環。

為什么在PHP中如果條件在foreach循環中失敗?

問題:您在if語句中使用賦值運算符

替換====== (嚴格檢查)

if($elevalue = 'B'){

if($elevalue == 'B'){  [or] if($elevalue === 'B'){

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM