Php 为什么未设置数组值的行为是意外的?
从my db返回一个数组,然后希望通过unset清理此数组: 我返回的数组如下所示:Php 为什么未设置数组值的行为是意外的?,php,arrays,unset,Php,Arrays,Unset,从my db返回一个数组,然后希望通过unset清理此数组: 我返回的数组如下所示: Array ( [standard_rate] => 25.00 [reduced_rate] => 20.00 [super_reduced_rate] => 15.00 [zero] => 0.00 [other] => 0.00 ) 如果standard_rate=25,我想在没有standard_rate的情况下得到这个数组,所以我会: if(standard_rate
Array ( [standard_rate] => 25.00 [reduced_rate] => 20.00 [super_reduced_rate] => 15.00 [zero] => 0.00 [other] => 0.00 )
如果standard_rate=25,我想在没有standard_rate的情况下得到这个数组,所以我会:
if(standard_rate == 25.00 ) unset($return[standard_rate]);
这不起作用,或者
if(standard_rate == '25.00' ) unset($return[standard_rate]);
这是行不通的。然而,当我这样做时:
if(standard_rate <= 25.00 ) unset($return[standard_rate]);
同样有效。
my db中的标准_率值为double(11,2)型,值为25.00
为什么会这样
如果(标准利率=25.00)
不工作?应该是:
if($return["standard_rate"] == 25) unset($return["standard_rate"]);
现在让我们看看你的代码有什么问题
standard\u rate
是一个未定义的常数,它具有数值0
和假定的字符串值“standard\u rate”
,因此
如果(标准利率=25.00)
将不起作用,因为0不等于25(数值比较)
if(standard_rate=='25.00')
将不起作用,因为字符串的“standard_rate”
和的“25.00”
不相等(字符串比较)
if(标准利率应为:
if($return["standard_rate"] == 25) unset($return["standard_rate"]);
现在让我们看看你的代码有什么问题
standard\u rate
是一个未定义的常数,它具有数值0
和假定的字符串值“standard\u rate”
,因此
如果(标准利率=25.00)
将不起作用,因为0不等于25(数值比较)
if(standard_rate=='25.00')
将不起作用,因为字符串的“standard_rate”
和的“25.00”
不相等(字符串比较)
if(标准利率应为:
if($return["standard_rate"] == 25) unset($return["standard_rate"]);
现在让我们看看你的代码有什么问题
standard\u rate
是一个未定义的常数,它具有数值0
和假定的字符串值“standard\u rate”
,因此
如果(标准利率=25.00)
将不起作用,因为0不等于25(数值比较)
if(standard_rate=='25.00')
将不起作用,因为字符串的“standard_rate”
和的“25.00”
不相等(字符串比较)
if(标准利率应为:
if($return["standard_rate"] == 25) unset($return["standard_rate"]);
现在让我们看看你的代码有什么问题
standard\u rate
是一个未定义的常数,它具有数值0
和假定的字符串值“standard\u rate”
,因此
如果(标准利率=25.00)
将不起作用,因为0不等于25(数值比较)
if(standard_rate=='25.00')
将不起作用,因为字符串的“standard_rate”
和的“25.00”
不相等(字符串比较)
if(standard_rate如果显示错误,您将看到“undefined constantstandard_rate
,假设'standard_rate'
”。一个字符串。显然,“standard_rate”==25.00
是错误的
if( $return['standard_rate'] == 25) unset($return['standard_rate']);
如果显示了错误,您将看到“未定义的常数标准利率
,假设为“标准利率”
”。一个字符串。显然,“标准利率”==25.00
为假
if( $return['standard_rate'] == 25) unset($return['standard_rate']);
如果显示了错误,您将看到“未定义的常数标准利率
,假设为“标准利率”
”。一个字符串。显然,“标准利率”==25.00
为假
if( $return['standard_rate'] == 25) unset($return['standard_rate']);
如果显示了错误,您将看到“未定义的常数标准利率
,假设为“标准利率”
”。一个字符串。显然,“标准利率”==25.00
为假
if( $return['standard_rate'] == 25) unset($return['standard_rate']);
你是对的。一开始这并没有改变任何事情,所以我的数组实际上并没有达到应有的水平。现在我又回到了正轨,谢谢。你是对的。一开始这并没有改变任何事情,所以我的数组实际上并没有达到应有的水平。现在我又回到了正轨,谢谢。你是对的。一开始这并没有改变任何东西事实证明,我的阵列实际上不是应该的。现在我又回到了正轨,谢谢。你是对的。起初这并没有改变任何事情,所以结果证明我的阵列实际上不是应该的。现在我又回到了正轨,谢谢。