我有一个数组,它包含一些键和一个额外的嵌套数组。我试图弄清楚如何检查嵌套数组中是否存在特定的值,如果存在,则从父数组中获取另一个值。下面是我的数组示例:
$products = array(
array(
'product_name' => 'My First Product',
'price' => 50,
'sizes' => [
'S',
'L',
'XL'
]
),
array(
'product_name' => 'My Second Product',
'price' => 45,
'sizes' => [
'S',
'M',
'L',
'XL'
]
)
)
在这个例子中,我想搜索数组,看看是否有一个大小为
M
存在,如果存在,则获取
product_name
。我相信我可以用
array_search
和
array_column
但迄今为止都没有成功。
以下是我的尝试:
$col = array_search('M', array_column($products, 'sizes'));
$productName = $products[$col]['product_name'];
这确实给了我一个结果,但它返回
My First Product
,即使该产品没有尺寸
M
。我确信这个问题以前已经得到了答案,但不幸的是,我不太确定我在这里尝试做什么的术语是什么,所以我一直没能找到答案。