• php函数之数组


    关联数组

    isset

    bool isset( mixed $val [, mix $...])

    变量是否已设置并且非null。多个参数从左到右计算。

    判断null

    $a=null;var_dump(isset($a));
    bool(false)

    判断常量是否已设置用defined

    定义常量 bool define( string $name, mixed $value [, $is_insensitive = false] )
    返回一个常量的值(常量名在变量里)mixed constant( string $name )

    tips

    不可用于可变函数($bar()函数执行),需自己包装
    PHP语言的关键词,语言语法的一部分
    普通函数需要被PHP解析器(zend引擎分解成语言结构)

    相关语言结构

    require ( require_once 是函数)
    include ( include_once 是函数)
    empty ( !isset($var) || $var == false )
    unset
    print
    echo
    list
    array 底层结构
    die

    array_key_exists

    bool array_key_exists( mixed $key, array $array)

    数组是否有键key。

    isset对null值的区别

    $arr=['a'=>null];var_dump(array_key_exists('a',$arr),isset($arr['a']));
    bool(true) bool(false)

    isset()的效率高

    in_array

    bool in_array( mixed $needle, array $haystack[, bool $strict = false])

    检查数组 haystack 中是否存在 needle 值。strict 是否严格检查类型。

    区分大小写
    当有数字字符串时,会将字符串型数字转为长整形后比较
    松散比较下,任何string都等于true

    in_array(0, ['ddd',99]) //true string转换为int后比较
    in_array('a', [true, 'b']) //ture

    array_search

    mixed array_search ( mixed $needle, array $haystack[, bool $strict = false])

    在数组中搜索指定的值,如果成功返回首个相应的键名。strict 检查类型。

    检查结果使用 ===
    区分大小写
    需要查询所有符合的键名,使用 array_keys 实现

    array_keys

    array array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]])

    返回键名。search_value 只返回指定值得所有键名。

    array_values

    array array_values ( array $array )

    返回数组所有值。建立数字索引。

    array_flip

    array array_flip ( array $array )

    交换数组中的键和值。

    成功返回 array, 失败返回 null
    原数组值需要能作为合法键名(需要是string或integer)。如果类型不对,出警告,且其值/键不会出现在结果里
    如果一个值出现多次,只取最后一个键名

    array_combine

    array array_combine ( array $keys, array $values )

    创建一个数组,keys数组为键名,values为值。返回合并的array,如果单元数不同则返回false。

    内部指针

    数组分段

    栈/队列

    回调函数

    排序

    计算

    数组生成

    其他

    原文地址:https://segmentfault.com/a/1190000015566280

  • 相关阅读:
    又肝了3天,整理了80个Python DateTime 例子,必须收藏!
    frida hook js 如何遍历输出map
    【MySQL实战】 01 | 基础架构:一条SQL查询语句是如何执行的?
    【开发笔记】 mysql把A表数据插入到B表数据的几种方法
    C#多线程(入门篇)
    C#多线程(浅谈线程安全)
    内存管理
    Mac 安装HbuilderX运行unapp 遇到的错误Error: Cannot find module 'copywebpackplugin'
    xml转voc数据集(含分享数据集)
    使用mmdetection训练自己的coco数据集(免费分享自制数据集文件)
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9980164.html
Copyright © 2020-2023  润新知