2013-04-22 4 views
1

У меня возникли проблемы с повторением этого массива информации о продукте с желаемым результатом повторения кода отслеживания электронной почты google для каждого элемента. Как уменьшить размер на единицу. Короче говоря -Уменьшить размеры многомерного массива

Как превратить это:

Array (
    [array] => Array (
     [0] => Array (
      [product_id] => 7 
      [prod_count] => 1 
      [price] => 19.99 
     ) 
     [1] => Array (
      [product_id] => 6 
      [prod_count] => 3 
      [price] => 19.99 
     ) 
     [2] => Array (
      [product_id] => 5 
      [prod_count] => 2 
      [price] => 19.99 
     ) 
     [3] => Array (
      [product_id] => 4 
      [prod_count] => 4 
      [price] => 14.99 
     ) 
     [4] => Array (
      [product_id] => 3 
      [prod_count] => 5 
      [price] => 19.99 
     ) 
    ) 
) 

в этом:

Array (
      [0] => Array (
       [product_id] => 7 
       [prod_count] => 1 
       [price] => 19.99 
      ) 
      [1] => Array (
       [product_id] => 6 
       [prod_count] => 3 
       [price] => 19.99 
      ) 
      [2] => Array (
       [product_id] => 5 
       [prod_count] => 2 
       [price] => 19.99 
      ) 
      [3] => Array (
       [product_id] => 4 
       [prod_count] => 4 
       [price] => 14.99 
      ) 
      [4] => Array (
       [product_id] => 3 
       [prod_count] => 5 
       [price] => 19.99 
      ) 
     ) 
+0

Я не волшебник PHP, но, возможно, вы можете инкапсулировать информацию о продукте (product_id, prod_count, цены) в объект, а затем сделать коллекцию (массив) из них? Тогда у вас будет только одно «измерение». – John

ответ

4

Очевидный ответ для примера будет:

$array = $array['array']; 

Однако, предполагая, что есть множественные массивы как один уровень:

$array = call_user_func_array('array_merge',$array); 
+0

Ты спас мой день. Теперь я могу легко перебирать их и отслеживать код отслеживания google. Могу ли я купить вам кофе? – MDS

+0

+1 лучшие решения - самые простые :-) – bestprogrammerintheworld

+0

Ха, это было бы сложно, я сомневаюсь, что мы даже разделяем часовой пояс. Но, тем не менее, вам будет приятно :) – Wrikken

0
$arr = array(
    "withinArray" => array(
     "withinMoreArray" => array(
      "andEvenMoreArray" => array(
      ) 
     ) 
    ) 
); 

$arr = current($arr); 
// OR 
$arr = $arr['withinArray']; 
0
<?php 
// Let's say this is your big array: 
/*Array (
    [array] => Array (
     [0] => Array (
      [product_id] => 7 
      [prod_count] => 1 
      [price] => 19.99 
     ) 
     [1] => Array (
      [product_id] => 6 
      [prod_count] => 3 
      [price] => 19.99 
     ) 
     [2] => Array (
      [product_id] => 5 
      [prod_count] => 2 
      [price] => 19.99 
     ) 
     [3] => Array (
      [product_id] => 4 
      [prod_count] => 4 
      [price] => 14.99 
     ) 
     [4] => Array (
      [product_id] => 3 
      [prod_count] => 5 
      [price] => 19.99 
     ) 
    ) 
)*/ 

$littlearray = $bigarray['array']; 
?> 
Смежные вопросы