Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php访问哈希元素_Php_Arrays_Hash - Fatal编程技术网

使用php访问哈希元素

使用php访问哈希元素,php,arrays,hash,Php,Arrays,Hash,我在表单中有一个哈希数组 [{"sector":"Consumer, Cyclical","ticker":"NWY","entity":"New York & Co","New_York_&_Co":[{"count":1,"entity":"New York"}],"type":"SCap"}] 我试图列出所有事件的键值“实体”对应的值。 我确实使用了json_解码 $testJson = json_decode('[{"sector":"Consumer, Cyclica

我在表单中有一个哈希数组

[{"sector":"Consumer, Cyclical","ticker":"NWY","entity":"New York & Co","New_York_&_Co":[{"count":1,"entity":"New York"}],"type":"SCap"}]
我试图列出所有事件的键值“实体”对应的值。 我确实使用了json_解码

$testJson = json_decode('[{"sector":"Consumer, Cyclical","ticker":"NWY","entity":"New York & Co","New_York_&_Co":[{"count":1,"entity":"New York"}],"type":"SCap"}]');
当我尝试“echo var_dump($testJson[0])时
它以表单的形式显示输出

array
  0 => 
  object(stdClass)[438]
  public 'sector' => string 'Consumer, Cyclical' (length=18)
  public 'ticker' => string 'NWY' (length=3)
  public 'entity' => string 'New York & Co' (length=13)
  public 'New_York_&_Co' => 
    array
      0 => 
        object(stdClass)[439]
          ...
  public 'type' => string 'SCap' (length=4)
但是
echo var_dump($testJson[0]->entity)
或echo var_dump($testJson[0]->sector)给了我错误。。“试图获取非对象的属性”。我可能做错了什么

$testJSon= json_decode('[{"sector":"Consumer, Cyclical","ticker":"NWY","entity":"New York & Co","New_York_&_Co":[{"count":1,"entity":"New York"}],"type":"SCap"}]');
//var_dump($testJSon);
echo $testJSon['0']->sector; // will output `Consumer, Cyclical`
echo $testJSon[0]->{'sector'}; // will also output same
您可以在数组中对其进行转换,得到如下值:

$testJSon= json_decode('[{"sector":"Consumer, Cyclical","ticker":"NWY","entity":"New York & Co","New_York_&_Co":[{"count":1,"entity":"New York"}],"type":"SCap"}]',true);
echo $testJSon[0]['entity']; // will return "New York & Co"

不,它没有…它给了我一个错误“尝试获取非对象的属性”。。。上面的解决方案是javascript的解决方案…非常好。。。在phpy中它不是这样工作的,在单引号中插入了零吗?@user1371896在php中对我来说这两种方式都很好,你粘贴了你正在使用的真正的json吗?错误“试图获取非对象的属性”的原因是什么我粘贴了在这里工作的代码(),您可以比较代码和输出。您测试的代码是否缺少字符串值周围的单引号,如示例中所示?(应该是:
json_decode('[{“扇区”:“消费者,
)如果发布的代码不具有代表性,请更新它。请检查我在问题部分指定的var_dump的输出。它显示了另一个数组,对吗?这可能是isue??数组0=>输入“[{”扇区“:“消费者,周期性”,“股票代码“:“NWY”,“实体”:“纽约公司”,“New_York_&_Co”:[{“count”:1,“entity”:“New York”}],“type”:“SCap”}]“来自一个数组,应该是字符串对吗?我的观点是,示例代码不是合法的PHP。因为它不能代表您运行的代码,所以也不会有相同的问题。(考虑选择一个字符串,这样会有效。)