首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >in_array在$haystack中找不到$needle

in_array在$haystack中找不到$needle
EN

Stack Overflow用户
提问于 2018-12-07 21:57:56
回答 1查看 43关注 0票数 1

所以我有一个数组用来存储用户名的例子。这里提供的函数应该检查用户名是否存在,回显信息,如果用户名是唯一的,它应该将其添加到数组中。

代码语言:javascript
复制
<?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 ;
        }
    }

}
 ?>

但是,当我使用以下命令调用函数时:

代码语言:javascript
复制
check_if_name_exists();

,或者如果我添加了一个不存在的名称,总是作为我得到的输出:

代码语言:javascript
复制
name free

欢迎任何帮助。谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-12-07 22:00:11

代码语言:javascript
复制
if ($name = NULL)

您正在将NULL分配给$name

转换为布尔值时,NULL将变为false。因此,它在else-子句中继续。因为$names中不存在NULL,所以输出变得“无名称”。

使用===进行比较。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53671035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档