如果版本相同,我如何清除一个值。 这是我的数组
[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>
更新
我试着这样把所有的城市放在一个数组中。 ($阵列) 有了print_r我得到了这个。
Array
(
[0] => Vorarlberg
)
Array
(
[0] => Niederösterreich
)
Array
(
[0] => Niederösterreich
)
之后我尝试<?php array_unique($array, SORT_REGULAR); ?>
和<?php echo array_unique($regionen, SORT_REGULAR); ?>
我只得到三个“数组”。
最好的问候
答案 0 :(得分:3)
您可以使用array_unique函数,并且必须添加SORT_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);
答案 1 :(得分:1)
使用一个简单的数组作为哈希表,并使用isset
来判断你以前是否经历过这个城市:
<?php
$cities = array();
foreach ($array as $newArray) {
if (!isset($cities[$newArray['city']])) {
$cities[$newArray['city']] = true;
echo $newArray['city'];
}
}
?>
答案 2 :(得分:1)
像这样使用array_column()
和array_unique()
:
foreach (array_unique(array_column($array, 'city')) as $city) {
// ...
}