Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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/5/url/2.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 - Fatal编程技术网

Php 具有特定访问键的对象内的数组

Php 具有特定访问键的对象内的数组,php,Php,所以我这里有一个照片的对象,在这个对象内部有一组带有键值的数组: { "photos": [ { "logo": false, "type": "MAIN", "url": "/uploads/userpics/503892/FiyxpMqMQj.png", "publicUrl": "https:test.co

所以我这里有一个
照片的对象
,在这个对象内部有一组带有键值的数组:

{
     "photos": [
                {
                  "logo": false,
                  "type": "MAIN",
                  "url": "/uploads/userpics/503892/FiyxpMqMQj.png",
                  "publicUrl": "https:test.com/medium_FiyxpMqMQj.png"
                },
                {
                  "logo": true,
                  "type": "LOGO",
                  "url": "/uploads/userpics/503892/kLwxKH6rIx.png",
                  "publicUrl": "https://test.com/medium_kLwxKH6rIx.png"
                },
                 {
                  "logo": false,
                  "type": "MAIN",
                  "url": "/uploads/userpics/543292/FiyxpMqMQj.png",
                  "publicUrl": "https:test.com/medium_asd432MQj.png"
                }
              ]
}

我想要的是,在我将这个对象运行到
foreach
中之后,它将显示或获取键值
“logo”=true
“type”=“logo”
“publicUrl”
,这是可能的吗?

假设$photos是原始数据,并且您已经在开始级别显示了数据,那么您可以执行以下操作:

$json=json_decode( $photos );
foreach( $json as $obj ){
    if( $obj->logo==true or $obj->type=='LOGO' ){
        echo $obj->publicUrl;
    }
}

首先,这不是一个有效的JSON。但一旦修复了它,就会将JSON转换为常规数组(第二个参数很重要),然后可以使用普通的
foreach($key=>$val的数组){echo“{$k}={$v}”}
对其进行迭代。JSON数组没有自定义键,所以除了
0,1….
sequence。

您研究过JSON\u解码吗?这将提供一个数组,然后由foreach处理。@Nigel yes我对
响应进行了json解码,并对
foreach进行了解码,我不知道如何才能得到值为““logo”=true”或
“type”的数据数组:“logo”
谢谢你,伙计。”。。让它工作,是的,纠正它不是原始数据我只需要逻辑。。这就是我所做的$parsed_json=json_decode($response,true)$pj=$parsed_json[“response”][“location”];$pt=$pj[‘照片’];foreach($pt as$obj){if($obj['logo']==true或$obj['type']==logo'){$waha=$obj['publicUrl'];$output.='';}