PHP中对数组的操作小结

  在编写PHP代码过程中,频繁用到数组。PHP中的数组用处很多,在使用上可以很灵活,它的方法和参数很多,我也记不住,每次写程序我都是在网上查找相应的操作方法,很无奈,只能小结一下,方便以后的使用。

  下面总结的是经常用到的方法。

  先定义输出方法便于看数组内容的变化:

	function ForeachShow($List){
			echo "------------ foreach输出 ------------<br>";
			foreach($List as $Key=>$V){
				echo $Key."===>".$V."<br>";
			}
	}
	function ForShow($List){
			echo "------------ for输出 ------------<br>";
			for($i=0;$i<count($List);$i=$i+1){
				echo $List[$i]."<br>";
			}
	}

  1、数组的定义与赋值

    //1.
	$List=array("C#","Java","PHP","JavaScript","Python");
	ForeachShow($List);
    //ForShow($List);//使用这个方法也是可以的
    //2.
	$List1=[];
	$List1[1]="C#";
	$List1[2]="Java";
	$List1[3]="PHP";
	ForeachShow($List1);
    //ForShow($List);//使用这个方法报错,因为索引没有定义完整
    //3.
	$List2=array("A"=>"C#","BB"=>"Java","CCC"=>"PHP");
	ForeachShow($List2);
    //ForShow($List);//使用这个方法报错,因为索引变成字符了

  注意:第2种和第3种赋值方法使用for循环输出会报错,因为索引变化了。

  2、增加数组元素

	$List=array("C#","Java","PHP","JavaScript","Python");
	echo "数组原有元素:<br>";
	ForeachShow($List);
	echo "<br>";
	array_unshift($List,"Fortran","FoxPro");//在数组的最前面增加元素
	echo "数组增加元素:<br>";
	$List[]="asp.net";//在数组的最后增加元素
	$List['HaoR']="C/C++";//在数组的最后增加元素
	array_push($List,"VB","PowerBuilder");//在数组的最后增加元素
	$NewList=["DelPhi","汇编"];
	array_splice($List,2,0,$NewList);//在数组位置2上插入元素
	ForeachShow($List);

  输出结果:

  3、删除数组元素

	$List=array("C#","Java","PHP","JavaScript","Python");
	echo "数组原有元素:<br>";
	$List['HaoR']="C/C++";//在数组的最后增加元素
	$List[]="VB/VBA/VBS";//在数组的最后增加元素
	$List['HTML']="Html5+CSS";//在数组的最后增加元素
	ForeachShow($List);
	unset($List[2]);//删除指定索引的元素:2===>PHP
	unset($List['HTML']);//删除指定索引的元素:HaoR===>C/C++
	ForeachShow($List);
	array_splice($List, 1, 2);//删除从数组位置1开始的2个元素
	ForeachShow($List);
	$List=array_diff($List,["Python","VB/VBA/VBS"]);
	ForeachShow($List);

  输出:

  array_splice($List, 1, X),这里的X可以为负数,但是这样麻烦。

  array_shift是删除数组的第一个元素。

	$List1=array("C#","Java","PHP","JavaScript","Python");
	array_shift($List1);
	ForeachShow($List1);

   4、数组合并

	$List1=array("C#","Java","PHP","JavaScript","Python");
	$List2=array("C++/C","Delphi");
	$List3=array_merge($List1,$List2);
	ForeachShow($List3);
	echo "<br>";
	$List3=$List2 + $List1;//“+”为联合运算符,用于合并数组,如果出现下标相同的元素,则保留第1个数组内的元素。
	ForeachShow($List3);

  输出:

------------ foreach输出 ------------
0===>C#
1===>Java
2===>PHP
3===>JavaScript
4===>Python
5===>C++/C
6===>Delphi

------------ foreach输出 ------------
0===>C++/C
1===>Delphi
2===>PHP
3===>JavaScript
4===>Python

  也可以使用插入方法,即在数组的末尾进行插入。

	$List1=array("C#","Java","PHP","JavaScript","Python");
	$List2=["1","2"];
	array_splice($List1,count($List3),0,$List2);//在位置1上插入元素
	ForeachShow($List1);

  输出:

0===>C#
1===>Java
2===>PHP
3===>JavaScript
4===>Python
5===>1
6===>2

  5、数组转换

  主要使用两个函数,json_encode()和json_decode()函数。

  json_encode()用于编码,json_decode()用于解码。

  json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。

  json_decode ( json [ ,assoc = false [, $depth = 512 [, $options =0 ] ] ]  )函数一般只使用前面两个参数,第一个必须为utf8编码的数据,$ assoc 值为TRUE时返回数组,FALSE时返回对象。

  代码:

	$List=array("C#","Java","PHP","JavaScript","Python");
	echo json_encode($List);
	echo "<br>";
	var_dump($List);
	echo "<br>";
	$JsonStr='{"name":"HaoR","age":"19","tool":"Python"}';
	$List=json_decode($JsonStr,true);//转换成数组
	ForeachShow($List);
	echo "<br>";
	$Obj=json_decode($JsonStr,false);//转换成对象
	var_dump($Obj);

  输出:

["C#","Java","PHP","JavaScript","Python"]
array(5) { [0]=> string(2) "C#" [1]=> string(4) "Java" [2]=> string(3) "PHP" [3]=> string(10) "JavaScript" [4]=> string(6) "Python" }
------------ foreach输出 ------------
name===>HaoR
age===>19
tool===>Python

object(stdClass)#1 (3) { ["name"]=> string(4) "HaoR" ["age"]=> string(2) "19" ["tool"]=> string(6) "Python" }

  数组里面可以存在很多种类型的数据,比如存放对象就应用比较广泛。

  ① 第一次更新 2022年6月16日。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值