当多次使用相同的键时,如何回显特定的数组键?
问题描述:
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?
答
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']
}
答
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