添加到数组(如果尚未存在)

php
2022-08-30 08:11:16

如何仅在元素尚未在其中时才将其添加到数组中?我有以下几点:

$a=array();
// organize the array
foreach($array as $k=>$v){
    foreach($v as $key=>$value){
        if($key=='key'){
        $a[]=$value;
        }
    }
}

print_r($a);

输出

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 1
[4] => 2
[5] => 3
[6] => 4
[7] => 5
[8] => 6

)

相反,我希望$a由唯一值组成。(我知道我可以使用array_unique来获得所需的结果,但我只想知道)


答案 1

您应该使用 PHP 函数(请参见 http://php.net/manual/en/function.in-array.php)。in_array

if (!in_array($value, $array))
{
    $array[] = $value; 
}

这是文档所说的:in_array

如果在数组中找到针,则返回 TRUE,否则返回 FALSE


答案 2

您必须根据in_array检查每个值:

$a=array();
// organize the array by cusip
foreach($array as $k=>$v){
    foreach($v as $key=>$value){
        if(!in_array($value, $a)){
        $a[]=$value;
        }
    }
}

推荐