php array_push() -> 如果数组已经包含值,如何不推送
2022-08-30 10:08:15
我正在使用以下循环将项目添加到名为$liste的数组中。我想知道如果值已经在数组中,是否有可能以某种方式不将$value添加到$liste数组中?希望我很清楚。提前感谢您。
$liste = array();
foreach($something as $value){
array_push($liste, $value);
}
我正在使用以下循环将项目添加到名为$liste的数组中。我想知道如果值已经在数组中,是否有可能以某种方式不将$value添加到$liste数组中?希望我很清楚。提前感谢您。
$liste = array();
foreach($something as $value){
array_push($liste, $value);
}
在推送之前,您可以使用in_array
检查它是否存在。
foreach($something as $value){
if(!in_array($value, $liste, true)){
array_push($liste, $value);
}
}
启用“严格检查”。这将使用 而不是 来比较元素。,true
===
==
真的有两个选择。
选项 1:检查每个项目,如果项目在那里,则不要推送。基本上你所要求的:
foreach($something as $value) {
if( !in_array($value,$liste)) array_push($liste,$value);
}
选项 2:无论如何都要添加它们,并在以下位置删除重复项:
foreach($something as $value) {
array_push($liste,$value);
}
$liste = array_unique($liste);
不过,从外观上看,您可能只是在寻找 .$liste = array_unique($something);