我对数组有疑问。 在我的包含15,000行的数组中,我有包含相关名称和值(sku)的列。 我需要显示所有名称,如果sku与我产品页面上的sku相同或不相同,则单独显示该名称
Exemple : array = [ 'code' => 'name1' ,
'sku' => '123456',
'code' => 'name1',
'sku' => '456789',
'code' => 'name2',
'sku' => '4565999']
等.......... 如果sku等于我的页面产品中的sku,我想在此显示不同的代码。
答案 0 :(得分:0)
首先你需要一个像这样的数组结构数组:
$arr = [
[ 'code' => 'name1', 'sku' => '123456' ],
[ 'code' => 'name2', 'sku' => '456789' ],
[ 'code' => 'name3', 'sku' => '4565999' ],
.
.
.
然后你可以像这样过滤你的数组:
$existing_items_on_array = array_filter($arr,
function($item) use ($existing_items_on_page){
return array_search($item["sku"], $existing_items_on_page) !== false;
});
或者更好(你仍然需要在第一个解决方案中构建一个数组):
我认为您的SKU是独一无二的。为什么不把它们作为数组键?
$item_codes = [];
foreach($arr as $item){
$item_codes[$item["sku"]] = $item["code"];
}
然后您将访问任何元素的代码:
echo $item_codes[$product["sku"]]