array_push和in_array问题

时间:2010-02-22 23:20:24

标签: php

我对此有点困难。我想允许用户通过AJAX请求检查用户名是否可用。如果用户名不可用,AJAX请求调用我的php和PHP返回true,如果可用,则返回false。

我想将用户名合并到数组中(如果找到),然后使用in_array查找匹配项。然而,这并不是这样的。

    $res = // database returns any username that matches - (not an array)
    $banned = // database returns an assoc array of banned names

    array_push($banned, strtolower($res['user']));

    if(!in_array(strtolower($requested), $banned)){
        echo 'available';
    } else {
        echo 'not available';
    }

以下是禁用变量的示例数组:

Array
(
    [0] => bad1
    [1] => bad2
    [3] => 
)

第3个键为null,因为在$ res变量中找不到它。

有更好的方法吗?我还需要将数组中的值转换为小写。

1 个答案:

答案 0 :(得分:1)

为了便于阅读,我认为这会更好看

if (isset($res['user'])) { // is this key set for this array?

    $banned[] = strtolower($res['user']); // append the strtolower`d version 
}