wen*_*nus 0 php arrays foreach
我有一个简单的循环问题.我有这样的数据:
$PRODUCT = [
'title' => 'Blouse',
'lines' => [
'variants' => [
[
'price' => 112.34,
'options' => [
'size' => 'small',
'color' => 'yellow',
]
],
[
'price' => 156.33,
'options' => [
'size' => 'small',
'color' => 'blue',
]
],
],
]
Run Code Online (Sandbox Code Playgroud)
我需要创建一个这样的新表:
$options => [
'size',
'color'
]
Run Code Online (Sandbox Code Playgroud)
我试图'options'在循环中只使用带键的数组,我甚至有我需要的数据,但我有警告:
Warning: Illegal string offset 'options'
Run Code Online (Sandbox Code Playgroud)
我的循环看起来像这样:
$options = [];
foreach ($PRODUCT['lines'] as $variant){
foreach ($variant as $item) {
$options[] = $item['options'];
}
}
Run Code Online (Sandbox Code Playgroud)
我的错误在哪里?我知道这'price'不是一个数组,但在这种情况下什么没有警告?
你错过了数组中的一个级别.试试这个 :
$options = [];
foreach ($PRODUCT['lines']['variants'] as $variant){
foreach ($variant as $item) {
$options[] = $item['options'];
}
}
Run Code Online (Sandbox Code Playgroud)