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
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。