Php 查看数组中是否有内容或在数组中创建新条目

Php 查看数组中是否有内容或在数组中创建新条目,php,arrays,Php,Arrays,我试图让下面的数组检查当前用户是否已经在用户列表中,或者是否需要在数组中创建新条目,但我不确定如何动态执行此操作 这是我目前的代码。我有一个以上的问题,这是工作良好。我发布了bind_结果,这样你们都可以看到我分配的变量 我该怎么做 $stmt->bind_result($ordering, $userid, $username, $playername); $users = array(); while ($stmt->fetch()) { $users = array(

我试图让下面的数组检查当前用户是否已经在用户列表中,或者是否需要在数组中创建新条目,但我不确定如何动态执行此操作

这是我目前的代码。我有一个以上的问题,这是工作良好。我发布了
bind_结果
,这样你们都可以看到我分配的变量

我该怎么做

$stmt->bind_result($ordering, $userid, $username, $playername);
$users = array();
while ($stmt->fetch()) {
    $users = array(
     $user = array('name' => $username, 'players' => array($playername))

     );
}
print_r($users);

你需要这样的东西吗

$users = array();
$user[] = array('name' => "1", 'players' => "players");
$user[] = array('name' => "2", 'players' => "players");
$user[] = array('name' => "3", 'players' => "players");
$user[] = array('name' => "1", 'players' => "players"); // this won't be included
$user[] = array('name' => "4", 'players' => "players");
$user[] = array('name' => "5", 'players' => "players");

foreach ($user as $u) {
    if(!in_array($u, $users)) $users[] = $u;
}

print_r($users);
如果是这样,您只需要更改这些行

$users = array(
     $user = array('name' => $username, 'players' => array($playername))
);
对这些

$user = array('name' => $username, 'players' => array($playername));
if(!in_array($user, $users)) $users[] = $user;
那么您的最终代码将是

$stmt->bind_result($ordering, $userid, $username, $playername);
$users = array();
while ($stmt->fetch()) {
    $user = array('name' => $username, 'players' => array($playername));
    if(!in_array($user, $users)) $users[] = $user;
}
print_r($users);
编辑 如果只想检查
名称
键,请将while更改为:

while ($stmt->fetch()) {
    $user = array('name' => $username, 'players' => array($playername));
    foreach ($users as $uname) if ($uname['name'] == $u['name']) continue 2;
    $users[] = $user;
}

就性能而言,这不是最好的方法。

这样显示。
Array([0]=>Array([name]=>pfar54[players]=>Array())[1]=>Array([name]=>pfar54[players]=>Array([0]=>Eddie Lacey))
您的更新代码如下所示<代码>数组([0]=>数组([name]=>pfar54[玩家]=>数组([0]=>Tom Brady))[1]=>数组([name]=>ahaas18[玩家]=>数组([0]=>)[2]=>数组([name]=>大爸爸[玩家]=>数组([0]=>)[3]=>数组([name]=>pfar54[玩家]=>数组([0]=>)[4]=>数组([name]=>Ja queline[玩家]=>数组([0]=>)[5]=>数组([name]=>jwhittaker[players]=>数组([0]=>)[6]=>Array([name]=>Big Daddy[players]=>Array([0]=>Aaron Rodgers))[7]=>Array([name]=>再加上一点,它repeats@Paul您发布的每个
$user
都是不同的,它们只有相同的
名称
。如果这就是您所说的相同的意思,只有相同的名称,请参阅我的编辑。