我有一个多维数组,如下所示:
Array
(
[0] => Array
(
[id] => 1
[name] => Edeka Blaschek
[description] => Lebensmittelmarkt mit Frischfleischtheke und Bäckerei Büsch
[latitude] => 51.1178
[longitude] => 6.77537
[distance] => 0.18105522823916723
)
[1] => Array
(
[id] => 2
[name] => Autohaus Kopenhagen
[description] => Peugeot Händler
[latitude] => 51.1161
[longitude] => 6.77481
[distance] => 0.33650698548914737
)
[2] => Array
(
[id] => 10
[name] => Hallenbad Nievenheim
[description] => Schwimmbad mit Sauna und Sonnenbänken, sowie kleinem Außenbereich
[latitude] => 51.1211
[longitude] => 6.77857
[distance] => 0.38752806088549746
)
)
现在我想从数组中的所有数组中完全删除距离键和值。它应该是这样的:
Array
(
[0] => Array
(
[id] => 1
[name] => Edeka Blaschek
[description] => Lebensmittelmarkt mit Frischfleischtheke und Bäckerei Büsch
[latitude] => 51.1178
[longitude] => 6.77537
)
[1] => Array
(
[id] => 2
[name] => Autohaus Kopenhagen
[description] => Peugeot Händler
[latitude] => 51.1161
[longitude] => 6.77481
)
[2] => Array
(
[id] => 10
[name] => Hallenbad Nievenheim
[description] => Schwimmbad mit Sauna und Sonnenbänken, sowie kleinem Außenbereich
[latitude] => 51.1211
[longitude] => 6.77857
)
)
我尝试过这里提到的解决方案:PHP - unset in a multidimensional array 但他们没有为我工作,我在这里做错了什么?可能很简单很抱歉,但我是PHP的新手。
编辑:这是我试过的代码:
foreach(array_keys($tempArray) as $key) {
unset($tempArray[$key][5]);
}
而且:
foreach($tempArray as $key=>$val){
unset($val[5]);
}
$ tempArray是我想要更改的数组。
答案 0 :(得分:2)
试试这个,
array_map(function($v){array_pop($v); return $v;}, $array);
注意,array_pop弹出数组的最后一个元素。如果距离不是最后一个键,则可以使用unset()代替
答案 1 :(得分:1)
foreach ($mainArray as $key => $mainData){
foreach ($subArray as $subData){
if($mainData['distance'] == $subData['distance']){
unset($mainArray[$key]); break;
}
}
}
试试这种方式。 -
答案 2 :(得分:0)
在php中使用array_values()函数。我想它会起作用。