PHP - get multiple columns from array

后端 未结 7 1911
星月不相逢
星月不相逢 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:36

    This is a refactored function based on Chayan's with added renaming of selected columns:


     /** Function - array_columns  Selects columns from multidimantional array and renames columns as required
     *
     * @param  array $arr, array $selectColRenameKeys 
     *            example: (NewName1->colNameneeded1,NewName2->colNameneeded2,ect...)
     * @return array
     * @access public
     * 
     */   
    
     private function array_columns( $arr,$selectColRenameKeys) {    
        $keys = array_flip($selectColRenameKeys);
        $filteredArray = array_map(function($a) use($keys){
                                      $data = array_intersect_key($a,$keys);
                                      $rename_arr= array();
                                      foreach ($data as $colname => $value){
                                        $r_arr[$keys[$colname]]= $value   ;
                                      }
                                      return $r_arr;
                                   }, $arr);
    
        return $filteredArray;
    }
    

提交回复
热议问题