【发布时间】:2013-01-29 05:45:03
【问题描述】:
我遇到了这个奇怪的问题。
我正在从数组中获取值并尝试比较它,但它不起作用。
代码 1
<?php
echo $data->item[0]['promocode'].'<br>';
echo $data->item[1]['promocode'];
?>
输出 1
inhouse
inhouse
现在让我们尝试 if else 条件,如果两个值相同或不同 代码2
<?php
if(($data->item[0]['promocode']) == ($data->item[1]['promocode'])){
echo "both values are same";
} else {
echo "both values are NOT same";
}?>
输出 2
both values are NOT same
很奇怪
我不明白我做错了什么。
让我们试试上面的例子,指定变量 代码 3
<?php
$data0=$data->item[0]['promocode'];
$data1=$data->item[1]['promocode'];
if($data0 == $data1){
echo "both values are same";
} else {
echo "both values are NOT same";
}?>
输出 3
both values are NOT same
我现在正在抓狂。
现在在变量中硬编码值
代码 4
<?
$data0='inhouse';
$data1='inhouse';
if($data0 == $data1){
echo "both values are same";
} else {
echo "both values are NOT same";
}?>
输出 4
both values are same
所以我的问题是为什么会这样?
我有一个元素数组,如果尝试然后做某事,我想用当前值检查以前的值。
感谢您的宝贵时间。
【问题讨论】:
-
提示:
if (strlen($data0=$data->item[0]['promocode']) == strlen($data0=$data->item[1]['promocode']))的结果是什么 -
试试
===而不是==。 -
===不是比==更强大,限制更多,所以当==给出false 时,===肯定也会给出false 吗?只是想看看我是否理解正确。 -
确实似乎有一个尾随空格,如此处所示i49.tinypic.com/1ffmrr.jpg
标签: php if-statement conditional-statements