PHP - IF不检查条件是否为真

one*_*day -1 php if-statement

我正在根据用户输入的动词的结尾创建一个动词共轭器.

现在它应该用以"aic","eic","oic"(一组结尾)和"bic","fic","mic","nic","pic"和"wic"结尾的动词起作用(另一组结尾).

不幸的是,它不断地将第一个数组分配给我放置的任何东西 - 即使它没有以指定的结尾结束.

这是页面:www.alweso.2ap.pl/koniugator/index.php

这是代码:

<?php

$verb = $_POST["verb"];
$last2 = substr ($verb, -2);
$last3 = substr($verb, -3);
$last4 = substr($verb, -4);
$last5 = substr($verb, -5);
$last6 = substr($verb, -6);
$last7 = substr($verb, -7);
$last8 = substr($verb, -8);
$last9 = substr($verb, -9);

$root2 = str_replace($last2, "", $verb);
$root3 = str_replace($last3, "", $verb);
$root4 = str_replace($last4, "", $verb);
$root5 = str_replace($last5, "", $verb);
$root6 = str_replace($last6, "", $verb);
$root7 = str_replace($last7, "", $verb);
$root8 = str_replace($last8, "", $verb);
$root9 = str_replace($last9, "", $verb);


$aic_eic_oic = array("je", "isz", "i", "imy", "icie", "ja" );   
$bic_fic_mic_nic_pic_wic = array("ie", "isz", "i", "imy", "icie", "ia" );   
$cic_lic_sic_zic = array("e", "isz", "i", "imy", "icie", "a" ); 

?>
    <div class="container">
      <div class="row">
      <div class="col-md-4 col-md-offset-4">

<?php

if ($last3 == ("aic" || "eic" || "oic")) {
        foreach ($aic_eic_oic as $one) {
        echo "<li>$root2$one</li>";
    }   
    }

elseif ($last3 == ("bic" || "fic" || "mic" || "nic" || "pic" || "wic")) {
        foreach ($bic_fic_mic_nic_pic_wic as $one) {
        echo "<li>$root2$one</li>";
        }
    }

    ?>

</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Dys*_*mus 5

你不能这样if($value = ($a || $b || $c))if(in_array($value, array($a, $b, $c)). if($value = ($a || $b || $c))意思是:$value == true因为'foo' || 'bar' || 'barfoo'被评估为真(非空字符串在php中总是如此).