php if语句工作不正常
我不知道为什么,但是一些空白值仍然会通过我的php if语句工作不正常,php,if-statement,Php,If Statement,我不知道为什么,但是一些空白值仍然会通过我的if语句过滤掉。。。当我回显json编码的版本时,有些值有“键”,但“值”不包含任何内容。有什么想法吗 function graph_fees($competitors, $fee_graph_data){ foreach ($competitors as $competitor) { if (!empty($competitor->minSingleCareFee)) {
if
语句过滤掉。。。当我回显json编码的版本时,有些值有“键”,但“值”不包含任何内容。有什么想法吗
function graph_fees($competitors, $fee_graph_data){
foreach ($competitors as $competitor) {
if (!empty($competitor->minSingleCareFee)) {
$fee_graph_data[$competitor->Home_name] = $competitor->minSingleCareFee;
}
}
return $fee_graph_data;
}
$mm_fees = graph_fees($competitors, $fee_graph_data);
echo json_encode($mm_fees);
在创建数据时可能会出现空白,请在检查之前对其进行修剪()
<?php
function graph_fees($competitors, $fee_graph_data = array())
{
foreach ($competitors as $competitor) {
$competitor->Home_name = trim($competitor->Home_name);
$competitor->minSingleCareFee = trim($competitor->minSingleCareFee);
if (!empty($competitor->minSingleCareFee) && !empty($competitor->Home_name)) {
$fee_graph_data[$competitor->Home_name] = $competitor->minSingleCareFee;
}
}
return $fee_graph_data;
}
$mm_fees = graph_fees($competitors, $fee_graph_data);
echo json_encode($mm_fees);
?>
包含空格的字符串不是空的。截至php文档: 以下内容被认为是空的:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
因此,如果您的if中出现问题,$competitor->minSingleCareFee
确实包含一些内容
试一试
它将跳过像
“
或”\n“
什么是变量转储($competitor->minSingleCareFee)代码>输出?将其添加到foreach
(在if
语句之外)。它们可能是null
,如果您回显null
,它将不可见。如果“blanks”通过,则不存在blank。。请在开始之前尝试trim()if@LozCherone所以你的意思是:如果(!empty(trim($competitor->SingleCareFee))?不,你不能这样做,在if之前做
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
if ( isset($competitor->minSingleCareFee)
&& trim($competitor->minSingleCareFee) != false ) {