PHP数组编程

1、数组定义

$arr = [123,456,789];
echo $arr."
"
; var_dump($arr)."
"
; echo $arr[0]."
"
;
//关联数组定义
$arr2 = array("key1"=>123,"key2"=>456,"key3"=>789);//指定键名,键只能是整型或字符串
$arr3 = array(1=>123,2=>456,3=>789);
$arr4 = array(123,456,789);	//默认键名0,1,2
$arr5 = array(123,3.5=>456,"key3"=>789, 12);	//混合式定义
$arr6 = array(									//多维数组
	array(1=>123,2=>456,3=>789),
	array(13,46,79),
	array(23,3.5=>56,"key3"=>89, 12)
);

2、数组的访问
echo $arr2."
"
; var_dump($arr2)."
"
; echo $arr2["key2"]."
"
; echo $arr3[3]."
"
; echo $arr5[1]."
"
; $arr6[2]["key3"] = "key3"; //数组可以直接赋值 echo $arr6[2]["key3"]."
"
; print_r($arr6); //查看数组所有数值 echo "
";
print_r($arr6);					//格式化显示数组
echo "
"
; echo "for和foreach输出:"."
"
; for($i = 0; $i < count($arr6); $i++) { foreach($arr6[$i] as $value) echo $value." "; echo "
"
; } 3、数组合并 $arr7 = $arr6[0] + $arr6[1]; //按下标合并 echo "
";
	print_r($arr7);	
	echo "
"
; $arr8 = array_combine($arr6[0], $arr6[1]); //按键和值对应合并 echo "
";
	print_r($arr8);	
	echo "
"
; 4、数组排序 $numbers=array(4,6,2,22,11); rsort($numbers); //对数组逆向排序(从高到低) echo "
";
	print_r($numbers);	
	echo "
"
; sort($numbers); //对数组正向排序(从低到高) echo "
";
	print_r($numbers);	
	echo "
"
; 4、数组插入 //在数组最后插入一个数 array_push($numbers, 20); echo "
";
	print_r($numbers);	
	echo "
"
; 5、数组删除 //剔除最后一个元素 array_pop($numbers); echo "
";
	print_r($numbers);	
	echo "
"
; //剔除指定元素或整个数组 unset($numbers[0]); echo "
";
	print_r($numbers);	
	echo "
"
; $a=array("a"=>"red","b"=>"green","c"=>"blue"); echo array_search("red",$a)."
"
; //搜索数组指定数值对应的键 6、数组指针访问 $arr=['a','b','c','d','e','f']; //刚开始指针指向a echo key($arr) . ' - ' . current($arr)."
"
; //0 -a // 获取当前指针指向的键和值:0 - a next($arr); echo key($arr) . ' - ' . current($arr)."
"
; //1-b next($arr); echo key($arr) . ' - ' . current($arr)."
"
; //2-c prev($arr); //回退一个 echo key($arr) . ' - ' . current($arr)."
"
; //1-b reset($arr); //复位 echo key($arr) . ' - ' . current($arr)."
"
; //0-a end($arr); echo key($arr) . ' - ' . current($arr)."
"
; //5-f

7、数组函数

array_pop()将数组最后一个元素弹出(出栈)
 array_push()将一个或多个元素压入数组的末尾(入栈)//在末尾插入元素
array_unshift()在数组开头插入一个或多个元素 //在开头
array_shift()将数组开头的元素移出数组
array_unique()移除数组中重复的值
array_slice()从数组中截取部分数组
array_splice()将数组中的一部分元素去掉并用其他值取代

 count()计算数组中的元素数目或对象中的属性个数
 range()建立一个包含指定范围元素的数组
array_rand()从数组中随机取出一个或多个元素
 array_keys()获取数组中部分的或所有的键名
array_values()获取数组中所有的值
array_column()获取数组中指定的一列
array_sum()计算数组中所有值的和
array_reverse()返回一个元素顺序相反的数组

array_merge()合并一个或多个数组
array_flip()交换数组中的键和值
array_combine()创建数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_chunk()将一个数组分割成多个
array_fill()用给定的值填充数组
array_replace()使用传递的数组替换第一个数组的元素
array_map()为数组中的每个元素应用回调函数
array_walk()使用自定义函数对数组中的每个元素做回调处理

举例

	array_unshift($arr, 1,2,3);
	array_shift($arr);
	echo "
";
	print_r($arr);	
	echo "
"
; //截取部分数组 echo "
";
	print_r(array_slice($arr, 0,4));	
	echo "
"
; //切片替换,-1表示从末尾插入,1表示切片长度, array_splice($arr, -1, 1, array("black", "maroon")); echo "
";
	print_r($arr);	
	echo "
"
; //字符串分割 echo "
";
	print_r(explode('n', 'banana'));
	echo "
"
; //参数3限制分割次数 echo "
";
	print_r(explode('n', 'banana', 2));
	echo "
"
; //将字符数组拼接成字符串 echo "
";
	print_r(implode('-', ['a', 'b', 'c']));	
	echo "
"
;

你可能感兴趣的:(php,开发语言)