duanji1902
2019-08-05 13:29
浏览 101
已采纳

当多次使用相同的键时,如何回显特定的数组键?

I have an array I am trying to iterate through with PHP and get a value out of. All my keys for 'custom_attributes' are the same though.

Array
(
    [items] => Array
        (
            [0] => Array
                (
                    [sku] => SCB20
                    [custom_attributes] => Array
                        (
                            [0] => Array
                                (
                                    [attribute_code] => ages
                                    [value] => 17
                                )

                            [1] => Array
                                (
                                    [attribute_code] => description
                                    [value] => description data
                                )

                            [2] => Array
                                (
                                    [attribute_code] => image
                                    [value] => cl2eojpu9.jpg
                                )
                        )
                )
        )
)

Let's say for instance I only want to echo out the value of value where the attribute_code value equals ages. How do I do that?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanhuan5409 2019-08-05 13:40
    已采纳

    You can loop over the array like bellow:

        foreach ($array['items'][0]['custom_attributes'] as $key => $item) {
          if($item['attribute_code'] == 'ages') echo $item['value']
        }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • dptpn06684 2019-08-05 13:56

    You can use array_walk_recursive

     $searchCode  = 'ages';
     $attributeValue = '';
     $flag = false;
     array_walk_recursive($a, function($item, $key, &$flag) use ($searchCode,&$attributeValue){
      ($key == 'attribute_code' && $item == $searchCode) ? ($flag = true) : '';
      !empty($flag) ? ($attributeValue = $item) : '';
     }, $flag);
     echo $attributeValue;
    

    Working example : https://3v4l.org/erlZD

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题