我有以下数组$items:
array:3 [▼
0 => array:9 [▼
"qty" => 1
"name" => "Guide, interlocked slats, R Commodity code: 39239000 / Country of origin: PL. Delivery note 838174147 from 12.09.2019 PC 1,50/ 10"
]
1 => array:9 [▼
"qty" => null
"name" => "Guide, interlocked slats, L Commodity code: 39239000 / Country of origin: PL. Delivery note 838174147 from 12.09.2019 PC"
]
2 => array:9 [▼
"qty" => null
"name" => "Bottom groove set L + R Commodity code: 39239000 / Country of origin:"
]
]
我试图找到在所有三个子数组中都有值的特定键。在本例中,这将是 key name,因为该特定键在所有三个数组中都有一个值。
我尝试为此编写一个函数,如下所示:
function getKeysWithData(array $items): array
{
//Get the key(s) that has region data for all items.
$keysWithData = collect($items)->map(function ($item) {
return array_keys(collect($item)->filter()->toArray()); //filter will remove all null
})->flatten()->unique()->toArray();
}
上面的函数返回一个数组,其中包含具有某些值的键的名称。所以对于上面的$items,它将返回:
array:2 [▼
0 => "qty"
1 => "name"
]
这是因为 和 两者qty在name某些时候都包含一些价值。但是,它应该只返回name.
我该怎么做,所以它只会返回所有数组中都有数据的键的名称?
炎炎设计
慕姐8265434