美文网首页
PHP的in_array函数

PHP的in_array函数

作者: 杨阿坤 | 来源:发表于2020-01-06 17:52 被阅读0次

简介

搜索数组中是否存在指定的值。
例如:某数组中存放了无规律的特定的日期,可以使用in_array函数来查看当天日期是否包括在该数组,以此来决定下一步执行什么。

所属类型

in_array属于array数组函数。

语法

in_array(search,array,type)

参数说明:
search是要搜索的值,array是被搜索的数组,这两个参数是必须的;
type是可选的,如果设置为true,则检查搜索的数据与数组的值的类型是否相同,当search的值是字符串时,开启type搜索区分大小写。

返回值

如果在数组中找到值则返回 TRUE,否则返回 FALSE。

示例

<?php
header("Content-Type:text/html;charset=utf-8");
$team = array("king", "next", "it", "jeinyang","2019");
if (in_array("King", $team, TRUE)){
  echo "匹配已找到<br>";
  }else{
  echo "匹配未找到<br>";
  }
if (in_array(2019,$team,TRUE)){
  echo "匹配已找到<br>";
  }else{
  echo "匹配未找到<br>";
  }
?>

运行结果:

匹配未找到
匹配未找到

注意事项

参数type开启时搜索区分大小写这个功能,本人在使用时并没有发现有什么区别,有待进一步测试。而值类型在示例的第二个条件判断里能体现出来。

应用经验

在设计SteelEC的工作日时间判断时,曾考虑过调用网上的API省事,不过基于大多数免费API的质地,还是放弃了,自己费事点写一个吧。
于是便根据国家发布的年度节假日通知,做了这个功能。在这里就用到了in_array这个函数。

<?php
function checkTime(){
    $timeSet = $config['timeset']; 
    //读入系统参数,这是个数组,包含假日holiday 、调休adjust
    $dayNow = date('Ymd',$_SERVER['REQUEST_TIME']);
    //判断是否假日
    if(in_array($dayNow,$timeSet['holiday'])){
        return false;
    }
}  
?>

这是日期时间检测方法的一部分,其他条件判断大致相同。
这里说说timeSet这个变量,这个变量保存的是法定节假日及调休的日期数组。这个日期数组可以是保存在数据库里的,也可以是写死在脚本文件里的,数据库里更灵活,但是要开发设置界面,而且效率低于写入文件,按需选择吧。
写入数据库时可以将数组序列化保存,读取时再发序列化,序列化和反序列化可以参考相应笔记。

参考材料

w3school:PHP in_array()函数

相关函数

array_search():在数组中搜索指定值,如存在则返回相应的键名,不存在则返回false。

相关文章

网友评论

      本文标题:PHP的in_array函数

      本文链接:https://www.haomeiwen.com/subject/jwwkactx.html