Php 数组相同的值清除

Php 数组相同的值清除,php,arrays,foreach,Php,Arrays,Foreach,如果存在相同的版本,如何清除一个值。 这是我的阵列 [1] => Array ( [name] => Peter [city] => Texas ) [2] => Array ( [name] => Hans [city] => New York ) [3] => Array

如果存在相同的版本,如何清除一个值。 这是我的阵列

[1] => Array
              (
              [name] => Peter
              [city] => Texas
)

[2] => Array
              (
              [name] => Hans
              [city] => New York
)

[3] => Array
              (
              [name] => Lex
              [city] => Texas
)
所以我每次只进一次办公室

<ul>
    <?php foreach ($array as $newarray) ?>
    <li><?php echo $newarray['city']; ?></li>
    <?php endforeach; ?>
</ul>
之后,我尝试
我只得到三个“数组”


致以最诚挚的问候

使用一个简单的数组作为哈希表,然后使用isset来确定您以前是否去过这个城市:

<?php
    $cities = array();
    foreach ($array as $newArray) {
        if (!isset($cities[$newArray['city']])) {
            $cities[$newArray['city']] = true;

            echo $newArray['city'];
        }
    }
?>

您可以使用array\u unique函数,并且必须添加SORT\u REGULAR标志:

$unique_array = array_unique($array, SORT_REGULAR);
例如:

$array  = array(
array("name" => "sundar" , "city" => "madurai"), 
array("name" => "amar" , "city" => "chennai"), 
array("name" => "kumar" , "city" => "madurai"), 
array("name" => "ragu" , "city" => "trichy"), 

);  

foreach ($array as $item) {
    $cityarray[] = $item['city'];
}

 $final_array = array(); 
foreach (array_unique($cityarray) as $key => $city) {

$final_array[] =    $array[$key]; 

}
print_r($final_array); 
像这样使用和组合:

foreach (array_unique(array_column($array, 'city')) as $city) {
    // ...
}

这难道不需要你先把所有的城市放在
$array
中,而不是多维数组吗?好的,我试过了,但没有成功。所以我首先把城市放在一个数组中。然后我得到了这个数组($Array)数组([0]=>Vorarlberg)数组([0]=>Niederösterreich)数组([0]=>Niederösterreich),我尝试了,但只有空输出。
foreach (array_unique(array_column($array, 'city')) as $city) {
    // ...
}