所以我有一个数组用来存储用户名的例子。这里提供的函数应该检查用户名是否存在,回显信息,如果用户名是唯一的,它应该将其添加到数组中。
<?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欢迎任何帮助。谢谢
发布于 2018-12-07 22:00:11
if ($name = NULL)您正在将NULL分配给$name。
转换为布尔值时,NULL将变为false。因此,它在else-子句中继续。因为$names中不存在NULL,所以输出变得“无名称”。
使用===进行比较。
https://stackoverflow.com/questions/53671035
复制相似问题