0

重複の可能性:
3 つの異なる等号

以下のコードを使用すると、「キリン!

<?php
$foo="giraffe";
if($foo="elephant"){
header("location:http://www.elephant.com");
exit();
}else{
 echo $foo;}
?>

ご覧いただきありがとうございます

J

4

2 に答える 2

7
if($foo="elephant")

$foo比較するのではなく、ここで割り当てています。あなたがやるべきです:

if($foo=="elephant")

代入演算の結果は、代入されたばかりの値です。この場合、'elephant' は true と評価されます。

于 2012-11-07T18:47:27.310 に答える
1

あなたのif()ステートメントには単一の等号があります。これは PHP では比較を行いません。値を設定し、true を返します。

比較を行うには、二重等号または三重等号を使用する必要があります。

if($foo == "elephant") { .... }

また

if($foo === "elephant") { .... }

2 つの違いは、double-equal は変数のデータ型を気にしないのに対し、triple-equal は気にすることです。この場合、それらの間に大きな違いはありませんが、違いを知らないと困る可能性があるため、違いを学んで理解する価値があります。詳細はこちら: http://php.net/manual/en/language.operators.comparison.php

于 2012-11-07T18:50:11.583 に答える