2017-02-21 12 views
-1

Вот мой массивНовый массив из многомерного массива

array(

    [0] => array(

     [unique_id] => us - B00SM1YGS6 
     [module_id] => Amazon 
     [create_date] => 2017 - 02 - 2101:39:35 
     [price]  => 489.00 
     [post_id]  => 3127) 

    [1] => array(

     [unique_id] => us - B01G0EURDY 
     [module_id] => Amazon 
     [create_date] => 2017 - 02 - 1905:31:43 
     [price]  => 799.00 
     [post_id]  => 3112) 

    [2] => array(
     [unique_id] => us - B01FZZX9VG 
     [module_id] => Amazon 
     [create_date] => 2017 - 02 - 1905:31:43 
     [price]  => 199.75 
     [post_id]  => 3112, 
    ), 
) 

Теперь я хочу, чтобы создать новый массив, который будет содержать [unique_id] в качестве ключа и цены в качестве значения

Но в моем массиве у меня есть тот же unique_id повторен, так что в итоге мне нужно что-то вроде этого

array(
    [us - B00SM1YGS6] => array(price1, price2, price3) 
    [us - B01G0EURDY] => array(price1, price2, price3), 
) 

Как это сделать?

Спасибо.

+0

показать массив с повторным 'unique_id' – RomanPerekhrest

+0

вот полный массив http://kostanyan.com/final.php –

+0

вы можете показать нам, что вы пробовали до сих пор? – DevDonkey

ответ

0

Здесь более оптимизированный способ сделать это,

$temp = []; 
foreach ($arr as $key => $value) { 
    $temp[$value['unique_id']][] = $value['price']; 
} 
print_r($temp); 

Дайте ему попробовать, он будет работать.

+0

более легкое более хорошее, спасибо –

0
$res=[]; 
foreach ($array as $val) { 
    $res[$val['unique_id']] = isset($res[$val['unique_id']]) ? $res[$val['unique_id']] : []; 
    array_push($res[$val['unique_id']], $val['price']); 
} 

print_r($res); 
+0

возвратил ошибку; –

+0

Пожалуйста, поделитесь .......... какая ошибка? – Naincy

+0

@HakobKostanyan Я пробовал мой код и его работу отлично ..... Можете ли вы перепроверить ... правильно ли скопировали код ... – Naincy