如何把in_array 的第三个参数strict设置为 true

var_dump(in_array(0, array(‘s‘ ));

这句话的结果是bool(true)。

因为in_array会将0 和‘s‘ 进行比较,0是number类型,‘s‘是string类型,根据php教程 manual 中“comparison operators” 一章的说明可知,number 和string进行

比较的时候,会先将string类型首先转化为number,然后再进行比较操作。 ‘s‘转化为number的结果为0,而0 == 0 的结果是true,所以in_array(0, array(‘s‘, ‘ss‘))的结果也是true

如果把in_array 的第三个参数strict设置为 true,比较的时候 就会判断值和类型是否都相当。如果都相当的话,才会返回true,否则返回false.

关于php in_array语法

bool in_array2881064151 ( mixed $needle , array $haystack [, bool $strict ] ) 返回值为直或假

<?php
$a = array(‘1.10‘, 12.4, 1.13);

if (in_array(‘12.4‘, $a, true)) {
    echo "‘12.4‘ found with strict checkn";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 found with strict checkn";
}
?>

时间: 2024-10-25 01:37:54

如何把in_array 的第三个参数strict设置为 true的相关文章

Oracle ORA-02069: 此操作的 global_names 参数必须设置为 TRUE

数据通过dblink传到另外一个的数据库中,可是在执行存储过程时,提示这个错误 insert into B@dblink select column from A ; column 中包含了序列或者函数,因为序列或者函数属于本地的,在这个insert过程中,主要是在dblink指向的远端完成,此时需要从远端返回本地来引用序列或者函数进行处理 这种情况下,需要将global_names设为true,然后在远端创建一个指向本地的dblink,并且两个dblink名称要和对方数据库的global na

js中addEventListener第三个参数涉及到的事件捕获与冒泡

js中,我们可以给一个dom对象添加监听事件,函数就是 addEventListener("click",function(){},true); 很容易理解,第一个参数是事件类型,比如点击(click).触摸(touchstart), 第二个参数就是事件函数, 比如我给一个button添加alert函数. window.onload=function(){ document.getElementById("hello").addEventListener("

三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别

版权声明:本文为sang原创文章,转载请注明出处. 目录(?)[+] 关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关于这方面介绍的文章,但是枯燥的理论或者翻译让很多小伙伴看完之后还是一脸懵逼,so,我今天想通过三个案例来让小伙伴彻底的搞清楚这个东东.本篇博客我们不讲源码,只看使用.源码的解读会在下一篇博文中带来. inflate方法从大范围来看,分两种,三个参数的构造方法和两个参数的构造方法.在这两类中又有细分,OK,那我们就把各种情况都来演示一遍. 1.三个参数的in

public View getView(int position, View convertView, final ViewGroup parent)三个参数的意思

最近看到有人在问这三个参数的含义,其实帮助已经很详细的介绍了这三个参数,看来还是要好好学学英语了,不然连解释都看不懂. /**     * Get a View that displays the data at the specified position in the data set. You can either     * create a View manually or inflate it from an XML layout file. When the View is inf

Html.RenderPartial使用三个参数

Html.RenderPartial("usercontrolurl", model, ViewDataDictionary) 当使用三个参数时可以这样使用: var data = new ViewDataDictionary(); data.Add("key", "value"); Html.RenderPartial("usercontrolurl", model, data); 然后在用户控件处使用:ViewData[&

异步任务类AnsycTask的三个参数

异步任务类AnsycTask为抽象类,其三个泛型参数为:Params,Progress 和 Result,这三个参数类型由用户设定,可以为任何类型,分别对应如下三个方法: 1.doInBackground(Params...):该方法运行在子线程中,处理一些耗时的任务,如网络和数据库的操作.一般,Params 类型可以设为 Void: 2.onProgressUpdate(Progress...):子线程中的publishProgress()方法被调用后,UI 线程将调用onProgressUp

【工作中学习2】Map的使用及排序(第三个参数)

项目进行中,使用到Map(std::map),Map要点整理如下: 1. Map,也叫关联数组,提供key/value(键/值对),key用来索引,value是被存储和检索的数据. 2. key值唯一(Multimap除外). 3. Map的内部数据结构是红黑树. 3. 可以用下标操作符,添加Map中的数据,例如map[1] = 2;,用下标操作符查找数据时,如果数据不存在,会被自动插入到Map中. 4. Map中的数据默认按照由key从小到大排序(less),可以修改第三个参数(可选)来修改排

固本培元之三:Convert、运算符、流程控制语句、ref/out/in三种参数类型

一.Convert类常用的类型转换方法Convert.ToInt32() 转换为整型(int)Convert.ToChar() 转换为字符型(char)Convert.ToString() 转换为字符串型(string)Convert.ToDateTime() 转换为日期型(datetime)Convert.ToDouble() 转换为双精度浮点型(double)Conert.ToSingle() 转换为单精度浮点型(float) 二.运算符算术运算符 + - * / %逻辑运算符 & | ^

STL中sort排序算法第三个参数_Compare的实现本质

关于C++ STL vector 中的sort排序算法有三种自定义实现,它们本质上都是返回bool类型,提供给sort函数作为第三个参数. 重载运算符 全局的比较函数 函数对象 我认为从实现方式看,重载运算符和函数对象实现本质上是一样的:两者都是括号运算符的重载. 重载运算符利用了泛型模板,再重载模板中的括号运算福,接着重载里面的大于小于操作符: 而函数对象则是直接针对自己的对象重载括号运算符. 下图是其中一个泛型模板比较函数,位于头文件stl_function.h中. 『注:本文来自博客园“小