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) {
// ...
}