所以我遇到了使用数组存储用户名的情况。这里提供的函数应该检查用户名是否存在,回显信息,如果用户名唯一,则应将其添加到数组中。
<?php
function check_if_name_exists ($name = NULL)
{
$names = array ("Bob", "Alise", "Karl", "Joe");
if ($name = NULL)
{
echo "you didn't input name";
}
else
{
if (in_array($name , $names) )
{
echo "$name alredy used\n";
}
else
{
echo "name free\n";
$names[] = $name ;
}
}
}
?>
但是当我用以下命令调用函数时:
check_if_name_exists();
,或者如果我添加一个不存在的名称,则总是得到以下输出:
name free
欢迎任何帮助。 谢谢
答案 0 :(得分:3)
if ($name = NULL)
您正在将NULL
分配给$name
。
当转换为布尔值时,NULL
变为false
。因此,它在其他条款中继续。由于NULL
中没有$names
,因此输出变为“无名称”。
使用===
进行比较。