我正试图分析一些政府数据。这是JSON
{
"results": [
{
"bill_id": "hres311-113",
"bill_type": "hres",
"chamber": "house",
"committee_ids": [
"HSHA"
],
"congress": 113,
"cosponsors_count": 9,
"enacted_as": null,
"history": {
"active": false,
"awaiting_signature": false,
"enacted": false,
"vetoed": false
}
这是php
foreach($key['results'] as $get_key => $value){
$bill_buff .= 'Bill ID: ' . $value['bill_id'] . '<br/>';
$bill_buff .= 'Bill Type: ' . $value['bill_type'] . '<br/>';
$bill_buff .= 'Chamber: ' . $value['chamber'] . '<br/>';
$bill_buff .= 'Committee IDs: ' . $value['committee_ids'] . '<br/>';
$bill_buff .= 'Congress: ' . $value['congress'] . '<br/>';
$bill_buff .= 'Cosponsor Count: ' . $value['cosponsors_count'] . '<br/>';
$bill_buff .= 'Enacted As: ' . $value['enacted_as'] . '<br/>';
$bill_buff .= 'History: {' . '<br/>';
$history = $value['history'];
$bill_buff .= 'Active: ' . $history['active'] . '<br/>';
$bill_buff .= 'Awaiting Signature: ' . $history['awaiting_signature'] . '<br/>';
$bill_buff .= 'Enacted: ' . $history['enacted'] . '<br/>';
$bill_buff .= 'Vetoed: ' . $history['vetoed'] . '}<br/>';
}
它不会显示历史记录{有效,等待签名,已颁布或已审核}。我尝试过$value['history']['active']
,并创建一个变量来捕获信息然后使用$catch['active']
,但仍然无法获得结果。
这已经让我烦恼了一个多星期了,而且我已经看了足够长的时间来决定我需要寻求帮助。任何人都可以帮助我吗?
P.S。我还有print_r($ history),然后去告诉我:
数组([有效] =&gt; [awaiting_signature] =&gt; [已制定] =&gt; [否决] =&gt;)
答案 0 :(得分:1)
当您读入值时,false
被视为布尔值,而不是字符串。当您尝试回显布尔值false
时,PHP不显示任何内容(例如,尝试print false;
)。您还可以通过将print_r
输出与var_dump
输出进行比较来进一步验证,例如:
Interactive shell
php > var_dump(false);
bool(false)
php > print_r(false);
php >
请参阅此问题以获得可能的解决方案: How to Convert Boolean to String
基本概述是你需要测试值,然后输出一个字符串。
答案 1 :(得分:0)
FALSE
没有字符串值,这意味着它不会在PHP中打印。您无法通过echo
,print
甚至fwrite(STDOUT...
看到它。
但是,您将使用var_dump
查看所有内容。
var_dump($key['results']);
// outputs:
array(1) {
[0]=>
array(8) {
["bill_id"]=>
string(11) "hres311-113"
["bill_type"]=>
string(4) "hres"
["chamber"]=>
string(5) "house"
["committee_ids"]=>
array(1) {
[0]=>
string(4) "HSHA"
}
["congress"]=>
int(113)
["cosponsors_count"]=>
int(9)
["enacted_as"]=>
NULL
["history"]=>
array(4) {
["active"]=>
bool(false)
["awaiting_signature"]=>
bool(false)
["enacted"]=>
bool(false)
["vetoed"]=>
bool(false)
}
}
}