Array Format Conversion
<? PHP / * ** * collation array conversion * $ arr converted into the format $ b * by means of a predetermined cycle must be built-in function * * / $ arr = [ [ 'name' => 'Jack', 'Hobby '=>' watermelon '], [ ' name '=>' Jack ',' Hobby '=>' melon '], [ ' name '=>' Rose ',' Hobby '=>' papain '], [ ' name '=>' rose ', ' hobby '=>' melon '], [ ' name '=>' Jack ',' Hobby '=>' sweet potatoes '], [ ' name '=>' Rose ',' Hobby '=>' melon ' ] ]; B $ = [ 'name' => 'Jack', 'Hobby' => [ 'watermelon', 'melon', 'sweet potato' ]]; $ arr2 is = []; the foreach ( $ ARR AS $ K => $ V ) { $ COL = array_column ( $ arr2 is , 'name'); // get all keys specified key IF ! ( the in_array ( $ V [ 'name'], $ COL )) { arr2 is $ [] = [ 'name' => $ V [ 'name' ]]; } $ COL = array_column ( $ arr2 is , 'name'); // get all keys specified key again $ col_key = the array_search ( V $ [ 'name'], $ COL ); // Find the index keys in accordance with $ arr2 is [ $ col_key] [ 'Hobby'] [] = $ V [ 'Hobby']; // into an array } echo '<pre />' ; var_dump ( $ arr2 is );