不比较时,php中的两个等号

时间:2011-12-08 04:46:03

标签: php syntax

这两个等号在不用于比较时意味着什么?

$saveOrder  = $listOrder == 'a.ordering';

我从来没有在php中看到过这样的东西....我正在看weblinks Joomla 1.7管理组件。

由于

5 个答案:

答案 0 :(得分:2)

用于比较。除外,比较结果已分配到$saveOrder

以下代码:

<?php

list($listOrder1, $listOrder2) = array('a.ordering', 'a.something_else');

$saveOrder1  = $listOrder1 == 'a.ordering';
$saveOrder2  = $listOrder2 == 'a.ordering';

true分配给$saveOrder1变量,将false分配给$saveOrder2变量。如果你不相信,check for yourself here

答案 1 :(得分:1)

他们正在比较。它没有用括号括起来(比如if / while /等的比较表达式。

$saveOrder将分配truefalse(条件的结果)。

答案 2 :(得分:0)

我想它与$saveOrder = ($listOrder == 'a.ordering');

相同

答案 3 :(得分:0)

在你的陈述中,双等号(==)仅用于比较目的。实际上,您的语句包含'赋值'(=)和'比较'(==)运算符,这会导致您的混淆。

这相当于$saveOrder = ($listOrder == 'a.ordering');,因此首先将$ listOrder与'a.ordering'进行比较,并将结果(true或false)分配给$ saveOrder。

希望这清楚你的困惑,如果不让我知道一次。

答案 4 :(得分:0)

$listOrder1='a.ordering';
$listOrder1='wrong'
$saveOrder1  = $listOrder1 == 'a.ordering';//1
$saveOrder2  = $listOrder2 == 'a.ordering';//

您可以在打印第一个时看到输出1,而第二个将返回:(即没有)