php çok boyutlu bir dizi benzersiz değerleri almak [yinelenen]

3 Cevap php

Possible Duplicate:
php multi-dimensional array remove duplicate

Ben böyle bir dizi var:

$a = array ( 
    0 => array ( 'value' => 'America', ), 
    1 => array ( 'value' => 'England', ),  
    2 => array ( 'value' => 'Australia', ), 
    3 => array ( 'value' => 'America', ), 
    4 => array ( 'value' => 'England', ), 
    5 => array ( 'value' => 'Canada', ), 
)

Ben bu olsun ki nasıl yinelenen değerleri kaldırmak:

$a = array ( 
    0 => array ( 'value' => 'America', ), 
    1 => array ( 'value' => 'England', ),  
    2 => array ( 'value' => 'Australia', ), 
    4 => array ( 'value' => 'Canada', ), 
)

Ben array_unique kullanarak çalıştı, ancak bunun nedeni bu dizi çok boyutlu olmak için çalışmıyor, ben düşünüyorum.

Düzenleme: Ben de çok boyutlu olması bu dizi gerekir ve bu biçimde, bunu dümdüz olamaz.

Teşekkürler.

Teşekkürler!

3 Cevap

Burada :)

<?php
 $a = array ( 
    0 => array ( 'value' => 'America', ), 
    1 => array ( 'value' => 'England', ),  
    2 => array ( 'value' => 'Australia', ), 
    3 => array ( 'value' => 'America', ), 
    4 => array ( 'value' => 'England', ), 
    5 => array ( 'value' => 'Canada', ), 
);

$tmp = array ();

foreach ($a as $row) 
    if (!in_array($row,$tmp)) array_push($tmp,$row);

print_r ($tmp);
?>

SORT_REGULAR bayrağı kullanın.

$unique_array = array_unique($a, SORT_REGULAR);

Bu yardımcı neden emin değilim ama öyle. En azından php 5.3 ile