ФорумПрограммированиеPHP для идиотов → как удалить повторные строки в двухмерном массиве

как удалить повторные строки в двухмерном массиве

  • vanderson

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 25 декабря 2008 г. 21:41

    вот кусок массива:

    $array[0]=(100,60,40)
    $array[0]=(100,60,50)
    $array[0]=(100,60,35)
    $array[0]=(100,99,35)
    $array[0]=(100,50,40)
    $array[0]=(100,40,35)
    $array[0]=(100,99,60)
    $array[0]=(100,99,40)
    $array[0]=(100,99,50)
    $array[0]=(100,99,35)
    $array[0]=(100,60,50)
    $array[0]=(100,50,40)
    $array[0]=(100,99,50)
    $array[0]=(100,50,35)
    $array[0]=(100,60,35)
    $array[0]=(100,40,35)
    $array[0]=(100,99,35)
    $array[0]=(100,50,35)
    $array[0]=(100,60,40)
    $array[0]=(100,99,60)
    $array[0]=(100,60,50)
    $array[0]=(100,60,35)
    $array[0]=(100,60,40)

    хочу удалить дублированные строки и сделать вот так
    $new_array[0]=(100,60,40)
    $new_array[1]=(100,99,60)
    $new_array[2]=(100,60,35)
    $new_array[3]=(100,99,40)
    $new_array[4]=(100,50,40)
    $new_array[5]=(100,40,35)
    $new_array[6]=(100,99,35)
    $new_array[7]=(100,60,50)
    $new_array[8]=(100,99,50)

    пробовал это

    $r=0;$z=0;
    while($r<$s) {
    $x=0;
    while($x<$s) {
    if ($array[$x+1] != $array[$r]) {
    $new_array[$z]=$array[$x+1];
    $z++;
    }
    $x++;
    }
    $r++;
    }
    }
    но это бред( помогите .. может есть какаято функция типа array_unique или подскажите алгоритм.. спасибо заранее
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 25 декабря 2008 г. 22:09, спустя 27 минут 51 секунду

    Если я правильно понял из названия темы, то речь идет о вложенных массивах. Тогда:


    function arrayUnique($myArray)
    {
       if(!is_array($myArray))
              return $myArray;

       foreach ($myArray as &$myvalue){
           $myvalue=serialize($myvalue);
       }

       $myArray=array_unique($myArray);

       foreach ($myArray as &$myvalue){
           $myvalue=unserialize($myvalue);
       }

       return $myArray;

    }


    Между прочим, взято из комментов мануала
    http://ru2.php.net/manual/ru/function.array-unique.php
  • vanderson

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 25 декабря 2008 г. 22:25, спустя 16 минут 20 секунд

    ага спасибо большое.. просто я еще нюб в этом деле)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!