数组操作符

闲来无事,想测试一下数组使用操作符(==,===,!=,!==,+)会怎么样呢?且看下面程序:

<?php 
	//仔细观察下面几个数组的特征
	$test_1=array('a','b','c');
	$test_2=array('a','b','c');//数组名与test_1不同,但数组内元素完全相同
	$test_22=array('b','a','c');//数组名与test_1不同,但数组内元素相同,顺序不同
	$test_3=array('d','e','f','g');////数组名与test_1不同,数组内元素个数与元素都不同
	$test_4 = array('one' => 'C++','two' => 'C','three' => 'PHP','four' => 'JAVA','five' =>'Python' );
	$test_5 = array('1' =>'计算机','2' =>'电气' ,'3' =>'自动化' ,'4' =>'物理' ,'5' =>'化学' );

	if($test_1==$test_2){//判断等价
		echo '$test_1==$test_2'."<br>";
	} else {
		echo '$test_1!=$test_2'."<br>";
	}
	//输出$test_1==$test_2

	if($test_1===$test_2){//判断恒等
		echo '$test_1===$test_2'."<br>";
	} else {
		echo '$test_1!==$test_2'."<br>";
	}
	//输出$test_1===$test_2

	if($test_1==$test_22){//判断等价
		echo '$test_1==$test_22'."<br>";
	} else {
		echo '$test_1!=$test_22'."<br>";
	}
	//输出$test_1!=$test_22
	
	if($test_1===$test_22){//判断恒等
		echo '$test_1===$test_22'."<br>";
	} else {
		echo '$test_1!==$test_22'."<br>";
	}
	//输出$test_1!==$test_22

	$test_6=$test_1+$test_2;
	echo '$test_6: ';
	print_r($test_6);
	echo "<br>";
	//输出Array ( [0] => a [1] => b [2] => c ) 

	$test_7=$test_2+$test_22;
	echo '$test_7: ';
	print_r($test_7);
	echo "<br>";
	//输出Array ( [0] => a [1] => b [2] => c ) 

	$test_8=$test_4+$test_5;
	echo '$test_8: ';
	print_r($test_8);
	echo "<br>";
	//输出Array ( [one] => C++ [two] => C [three] => PHP [four] => JAVA [five] => Python [1] => 计算机 [2] => 电气 [3] => 自动化 [4] => 物理 [5] => 化学 ) 

	$test_9=$test_1+$test_3;
	echo '$test_9: ';
	print_r($test_9);
	echo "<br>";
	//输出$test_9: Array ( [0] => a [1] => b [2] => c [3] => g ) 
?> 

  

 通过上面各种眼花缭乱的比较和相加,得出的结论是:

当两个数组进行等价比较的时候:如果两个数组内的元素完全一样(元素的索引、元素个数、元素顺序以及元素值)时 <=>等价;否则不等价。

当两个数组进行恒等比较的时候:如果两个数组内的元素完全一样(元素的索引、元素个数、元素顺序、元素值及其类型)时 <=>等价;否则不等价

注意,两个的数组比较,与数组名是否相同,无关,无关,无关.....

在两个数组进行加法操作时,如果第一个数组的元素个数大于或等于第二个数组的元素个数,则相加之后,结果与第一个数组相同,不会产生覆盖;

如果第一个数组的元素个数小于第二个数组的元素个数,则相加之后,第一个数组的所有元素会被保留,而第二个数组中比第一个是数组多出的元素会被加到第一个数组后面(语言不好描述,可能有点乱),总之,实际操作一下就OK了!!!!!

原文地址:https://www.cnblogs.com/-beyond/p/5733008.html