PHP在循环中将ID和字符串添加到数组中

PHP在循环中将ID和字符串添加到数组中,php,arrays,Php,Arrays,我需要在数组中添加一个唯一的ID和一个具有该ID的字符串。此阵列也需要更新。例子: ID NAME[(3,Flor)(5,Dries)]然后当我想在这个数组中插入一个新值时,如果ID已经在数组中或者没有,我需要进行检查。我目前有: $werknemers= []; while($werknemer= $werknemersql->fetch_assoc()){ $werknemerid = $

我需要在数组中添加一个唯一的ID和一个具有该ID的字符串。此阵列也需要更新。例子: ID NAME[(3,Flor)(5,Dries)]然后当我想在这个数组中插入一个新值时,如果ID已经在数组中或者没有,我需要进行检查。我目前有:

               $werknemers= [];
               while($werknemer= $werknemersql->fetch_assoc()){
                   $werknemerid = $werknemer['userid'];
                   $naam = $werknemer['name'] ." " . $werknemer['familyname'];
                   array_push($werknemers, array("id" => $werknemerid, "naam" => $naam ));

               }
               echo $werknemers[1][1];

实现这一点的一种简单方法是始终使用一致的索引更新阵列:

$werknemers = [];
while($werknemer = $werknemersql->fetch_assoc()){
    $werknemerid = $werknemer['userid'];
    $naam = $werknemer['name'] . " " . $werknemer['familyname'];

    $index = $werknemerid . '.' . $naam;
    $werknemers[$index] = ["id" => $werknemerid, "naam" => $naam];
}
然后,如有必要,删除索引:

$werknemers = array_values($werknemers);

使用id作为索引,它就解决了:)

你是说
“id”=>$werknemerid
?是的,很抱歉要检查
id
值是否已经在数组中,你可能会在数组($id,array\u column($werknemers,'id'))中使用类似
的东西
如果你想检查,最好使用索引:索引查找比值搜索更有效
$werknemers= [];
while($werknemer= $werknemersql->fetch_assoc()){
    $werknemers[$werknemer['userid']] = $werknemer['name'] . " " . $werknemer['familyname'];
}