【问题标题】:if() doesn't print out json data unless I use var_dump in phpif() 不会打印出 json 数据,除非我在 php 中使用 var_dump
【发布时间】:2012-01-30 22:30:04
【问题描述】:
$json = file_get_contents($url);
$json_output = json_decode($json, TRUE);
var_dump($json_output);
if($json_output){
    echo "TRUE";
} else {
    echo "FALSE";
}   

来自 var_dump($json_output) 的数据是

boolean true

在我的 if 语句中后跟 TRUE,除非我删除 var_dump($json_output),否则什么都不会发生,也不会打印出 TRUE。为什么会这样?

【问题讨论】:

  • 你能回声$json吗?您要求返回一个关联数组 (json_decode($json, TRUE);),所以我希望您需要检查 $json_output[0] 的布尔值而不是整个数组

标签: php json parsing


【解决方案1】:

可以确定,当您删除 var_dump 行时,您犯了一个编辑错误,导致语法错误(或类似错误),并且由于您关闭了错误报告,因此您看不到任何输出。

var_dump 不会影响变量的值,因此不会影响其在条件中的行为。

$json = json_encode(true);
$json_output = json_decode($json, TRUE);
//var_dump($json_output);
if($json_output){
    echo "TRUE";
} else {
    echo "FALSE";
}

// output: TRUE

【讨论】:

  • +1 大胆!你可能是对的,因为我真的没有看到任何其他解释,但我喜欢你肯定地得出结论,即 OP 以某种方式搞砸了单行的删除:)
猜你喜欢
  • 2012-08-22
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多