PHP - get multiple columns from array

后端 未结 7 1929
星月不相逢
星月不相逢 2021-01-12 09:55

I have this array:

0 => array:3 [
    \"product_id\" => \"1138\"
    \"product_image\" => \"/resources/medias/shop/products/shop-6500720--1.png\"
           


        
7条回答
  •  清歌不尽
    2021-01-12 10:18

    If you do not want to change your original array and want your desired output

    Use array_insersect_key function to get your desired output as following

    $array = array(
        [
            "product_id"    => "1138",
            "product_image" => "/resources/medias/shop/products/shop-6500720--1.png",
            "product_sku"   => "6500722"
        ],
        [
            "product_id"    => "1144",
            "product_image" => "/resources/medias/shop/products/shop-6501041--1.png",
            "product_sku"   => "6501046"
        ],
        [
            "product_id"    => "113",
            "product_image" => "/resources/medias/shop/products/shop-6294909--1.png",
            "product_sku"   => "6294915"
        ]
    );
    
    $keys = array("product_id"=>1, "product_sku"=>2);
    
    $filteredArray = array_map(function($a) use($keys){
        return array_intersect_key($a,$keys);
    }, $array);
    
    print_r($filteredArray);
    

提交回复
热议问题