gpt4 book ai didi

php - if else 条件不适用于 php 中的数组值

转载 作者:可可西里 更新时间:2023-10-31 22:56:20 25 4
gpt4 key购买 nike

我遇到了这个奇怪的问题。

我正在从数组中获取值并尝试比较它,但它不起作用。

代码-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 (trim($data->item[0]['promocode']) == trim($data->item[1]['promocode']))

要查看发生了什么,请尝试将您的第一个示例修改为

<?php
printf('<pre>"%s"%s"%s"</pre>',
$data->item[0]['promocode'],
PHP_EOL,
$data->item[1]['promocode']);
?>

关于php - if else 条件不适用于 php 中的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14576404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com