2015-06-16 3 views
-1

У меня есть следующая проблема, я хочу отфильтровать многомерный и многоуровневый массив для uniqe.Фильтровать многомерный многоуровневый массив на uniq

Пример:

Array 
(
    [Home] => Array 
     (
      [Kids] => Array 
       (
        [For sleeping] => Array 
         (
          [0] => Sleeping Bags 

          [1] => mattress 

          [2] => mattress 

          [3] => mattress 

          [4] => Beds 

          [5] => Beds 

          [6] => Beds 
[..] 

befored массив я хочу сделать это с ценностями стоимость создания эксклюзивной.

ответ

0

Я решил эту проблему. Решение этой проблемы:

$test = Array 
(
    [Home] => Array 
     (
      [Kids] => Array 
       (
        [For sleeping] => Array 
         (
          [0] => Sleeping Bags 

          [1] => mattress 

          [2] => mattress 

          [3] => mattress 

          [4] => Beds 

          [5] => Beds 

          [6] => Beds 
[..] 

foreach ($test as $key=>$value){ 
    foreach ($value as $key2 => $value2) { 
     foreach ($value2 as $key3=>$value3) { 
      $cat[$key][$key2][$key3]= array_unique($value3); 
     } 

    } 
} 
1

Я не знаю, если это самый быстрый/самый короткий ответ, но приведенный ниже код может работать для вас:

#Function to make a multidimensional array unique 

function makeUnique(&$array) 
{  
    foreach($array as $key => &$value) 
    { 
     if(is_array($value)) 
     { 
      makeUnique($value); 
      $value = array_unique($value); 

     } 
    } 
    return $array; 
} 

#Example of your array 

$exampleArray = Array(
    'Home' => Array(
     'Kids' => Array(
      'For sleeping' => Array(
       0 => 'Sleeping Bags', 
       1 =>'mattress', 
       2 =>'mattress') 
       ) 
     ) 
    ); 


#Make the array unique and print the results 

makeUnique($exampleArray); 
print_r($exampleArray); 
+0

Это не работает, потому что у меня есть несколько ключей, и он удаляет все остальные ключи и оставляет несколько значений и ключей. – Cosmin

+1

Aah ok, вы имеете в виду уникальные значения над массивом отверстий? Не только вложенный массив? –

+0

Да, я хочу отфильтровать только окончательное значение из многомерного массива – Cosmin

Смежные вопросы