PHP中数组可以同时使用、存在 :「索引数组」 和「关联数组」
创造数组
「索引数组」 :
$a[0]=”0″;$a[1] = “1”;$a[2]=”2″;$a[3] = “3”;
$a = array(“0″,”1″,”2″,”3”);
「关联数组」 :
$a[“dyg”]=”0″;$a[“dyg1”] = “1”;$a[“dyg2″]=”2”;$a[“dyg3”] = “3”;
$a = array(“dyg” => “0”, “dyg1″ =>”1″,”dyg2” => “2”,”dyg3″ => “3”);
5.3以上可以使用新方法定义一个数组(短数组定义)
$a = [1,2,3,4,5];
数组中的元素是可以在存数组的,也就是说 支持多维数组
超全局数组(预定义变量)
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。
这些超全局变量是:
- $_GLOBALS (global) 变量
- $_SERVER 服务器变量
- $_REQUEST (request)变量
- $_POST HTTP POST变量
- $_GET HTTP POST变量
- $_FILES HTTP 上传变量
- $_ENV 服务器环璄变量
- $_COOKIE HTTP Cookies上传变量
- $_SESSION (session) 变量
数组内部指针
next() 向下移动指针
prev() 向上移动指针
reset() 将指针重置到开头
end() 将指针移到未尾
key() 获取当前元素的键值
current() 获取当前元素的值
数组方法
foreach / for 遍历数组
$a =array(1,2,3,4);
for($b = 0;$b < count($a);$b ++){
echo $a[$b];
}
foreach($a as $v){
echo $v;
}
list取成员信息
list格式 : list($a,$b $…….) = array(1,2,3,4,5);
- list方法会将右边的数组按位传递,给声明一个变量存储
- 数组有几个元素,左边就可以有几个变量,
- 左边的参数可以多,也可以少,也可以不写,可以使用逗号省略
- 只能用于索引数组,下标从0开始,如果中间有其他不规则数据,则会截断获取不到值
each取成员信息
each格式 : $a = each(array(1,2,3,4,5));
- 返回值如下 Array ( [1] => 1 [value] => 1 [0] => 0 [key] => 0 ) , 只有4个元素
- 返回的还是一个数组,关联+索引数组
- each处理完后,指针向下移动,默认元素是第一个元素
- 如果指针在最后一位,再用each()则会返回false
数组 「 键 、值 」 方法
array_keys() 取数组所有键值 array_values() 取数组所有值 in_array(值,数组) 判断数组中是否存在某值 array_search(值,数组) 搜索数组中值的键名,返回其位置,不存在返回false array_key_exists(值,数组) 判断数组中是否存在些键值 array_flip(数组) 交换数组中的键和值,如果出现相同的键名,则会覆盖,只有整型和字符串能转换为键
数组统计方法
count() 统计数组元素个数 array_count_values() 统计所有值出现的次数 array_unique() 删除数组中重重复的值
数组其他方法
array_reverse() 返回一个与原数组元素相反的数组 array_filter(数组,函数) 返回一个数组,由函数返回真假值来确定是否保留原数据 array_walk(数组,函数) 对数组中的每个成员都应用函数,成功返回真 array_map(函数,数组) 返回一个新数组,由以前的数组的每个值经过处理后的新数组
统计方法:演示
$a =array(1,2,3,4,5,6,7);
$b = array_filter($a,function($value){ //数组会依次将值传递给$value
if($value % 2 == 0) //过滤2的倍数
return false;
return true;
});
print_r($b); // ===> 输出 Array ( [0] => 1 [2] => 3 [4] => 5 [6] => 7 )
$c = array_walk($a,function($value,$key,$str){ //$value 对应数组的值,$key对应数组的键,$str为用户自定的字符串
return $value * 2 ;
},"123"); //最后一个参数为我们的要传入的字符串信息
var_dump($c); // ====> ture
$d = array_map(function($v){ //会将值依次传递经$v,再由return 给新的数组
return $v + 9 ;
},$a);
print_r($d); // 处理后的新数组,输出 =====>Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 13 [4] => 14 [5] => 15 [6] => 16 )
原创文章转载请注明:转载自:PHP数组与数组方法总结
发表评论
沙发空缺中,还不快抢~