php 学习笔记--数组篇(12)
each(array);
作用:
返回当前数组的key和value,并且向前移动内部指针。
参数:
array:数组
返回值:
返回当前的元素
例子:使用each返回数组的每个值
$a = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow'); while(list($key, $value) = each($a)) { echo "$key->$value\n"; } 输出结果:a->redb->bluec->yellow
end(array);
作用:
将内部指针指向最后一个元素
参数:
array:数组
返回值:
成功返回最后一个元素的值,失败返回false
例子:输出数组的最后一个参数
$a = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow'); $res = end($a); print_r($res); 输出结果: yellow
extract(array, extract_rules, prefix)
作用:
将数组的key作为变量,数组的value作为变量的值
参数:
array:数组
extract_rules:
可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在 的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。
可能的值:
EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
EXTR_SKIP - 如果有冲突,不覆盖已有的变量。
EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。
EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix。
EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix。
EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。
EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。
EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。
prefix:
可选。如果 extract_rules 参数的值是 EXTR_PREFIX_SAME、EXTR_PREFIX_ALL、 EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS,则 prefix 是必需的。
该参数规定了前缀。前缀和数组键名之间会自动加上一个下划线。
返回值:
返回成功设置的变量数目。
例子:
1、将数组的key作为变量名 $a = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow'); $res = extract($a); echo "$a\n$b\n$c\n"; 输出结果: red blue yellow 2、将数组的key作为变量名并且添加前缀 $a = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow'); $res = extract($a, EXTR_PREFIX_ALL, 'my'); echo "$my_a\n$my_b\n$my_c\n"; 输出结果: red blue yellow
in_array(value, array, strict);
作用:
查找数组中value是否存在
参数:
value:需要查找的值
array:数组
strict:可选,默认喂false,如果是true,value值需要与数组中的值的类型和值都相同
返回值:
存在返回true,失败返回false
例子:数组中是否存在数字12
$a = array('a' => 'red', 'b' => 'blue', 'c' => '12'); if(in_array(12, $a, true)) { echo '存在'; } else { echo '不存在'; } 输出结果: 不存在
key(array);
作用:
获取当前数组的内部指针的key
参数:
array:数组
返回值:
返回数组中内部指针的key
例子:
$a = array('a' => 'red', 'b' => 'blue', 'c' => '12'); $res = key($a); print_r($res); 输出结果:a