$array1=array(\=>'red',2,4);
$array2=array('a','b','color'=>'green','shape'=>'ciclr',4); $result=array_merge($array1,$array2); print_r($result);//Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => ciclr [4] => 4 )
2)array array_diff(array arr1[,array arr2[,array...]])
该函数返回一个新数组,新数组中的元素的“值”是所有在arr1中,但不
在任何其他参数数组中的元素“值”(集合的差集运算)。
create by zhang on time 2013-7-9 下午05:15:24
*/
$array1=array(\=>'green','red','blue','red'); $array2=array('b'=>'green','red','yellow'); $result=array_diff($array1,$array2);
print_r($result);//Array ( [1] => blue ) ?>
3)array array_intersect(array arr1[,array arr2[,array...]])
该函数返回一个新数组,新数组中的元素的“值”是既在arr1中,又在arr2
等数组中出现的元素“值”(集合的交集运算)。
create by zhang on time 2013-7-9 下午05:15:30
*/
$array1=array(\=>'green','red','blue','red'); $array2=array('b'=>'green','red','yellow'); $result=array_intersect($array1,$array2);
print_r($result);//Array ( [a] => green [0] => red [2] => red ) ?>
4)array array_diff_assoc(array arr1[,array arr2[,array...]])
该函数返回一个新数组,新数组中的元素是所有在arr1中,但不在任何其
他参数数组中的元素(集合的差集运算)。注意:该方法中数组元素的键名也用于比较。
/*
create by zhang on time 2013-7-9 下午05:15:36
*/
$array1=array(\=>'green','red','blue','red'); $array2=array('b'=>'green','red','yellow'); $result=array_diff_assoc($array1,$array2);
print_r($result);//Array ( [a] => green [1] => blue [2] => red ) ?>
5)array array_intersect_assoc(array arr1[,array arr2[,array...]])
函数返回一个新数组,新数组中的元素既在arr1中,又在arr2等数组中
出现的元素(集合的交集运算)。注意:该方法中数组元素的键名也用于比较。
create by zhang on time 2013-7-9 下午05:15:43
*/
$array1=array(\=>'green','red','blue','red'); $array2=array('b'=>'green','red','yellow');
$result=array_intersect_assoc($array1,$array2); print_r($result);//Array ( [0] => red ) ?>
6)array array_diff_key(array arr1[,array arr2[,array...]])
该函数返回一个新数组,新数组中的元素的“键”是所有在arr1中,但不
在任何其他参数数组中的元素“键”(集合的差集运算)。
create by zhang on time 2013-7-9 下午05:15:50
*/
$array1=array(\=>1,'red'=>2,'green'=>3,'white'=>4);
$array2=array('green'=>5,'blue'=>6,'yellow'=>7,'black'=>8);
$result=array_diff_key($array1,$array2);
print_r($result);//Array ( [red] => 2 [white] => 4 )
?>
7)array array_intersect_key(array arr1[,array arr2[,array...]])
该函数返回一个新数组,新数组中的元素的“键”是既在arr1中,又在arr2等数组中出现的元素“键”(集合的交集运算)。
create by zhang on time 2013-7-9 下午05:15:50
*/
$array1=array(\=>1,'red'=>2,'green'=>3,'white'=>4);
$array2=array('green'=>5,'blue'=>6,'yellow'=>7,'black'=>8);
$result=array_intersect_key($array1,$array2);
print_r($result);//Array ( [blue] => 1 [green] => 3 ) ?>
数组的遍历1:
create by zhang on time 2013-7-9 上午09:55:48
*/
$chars=range('a', 'd'); $count=count($chars);
for ($key=0;$key<$count;$key++){ echo $chars[$key].\; } ?>
数组的遍历2:
$colors=array('orange','red','yellow');
$fruits=array('orange','apple','banana'); $temp=array_combine($colors, $fruits); reset($temp); do{
$key=key($temp);
$value=current($temp);
echo $key.\.$value.\; }while (next($temp)); ?>
数组的遍历3:
create by zhang on time 2013-7-9 上午10:32:22
*/
$colors=array('orange','red','yellow'); $fruits=array('orange','apple','banana'); $temp=array_combine($colors, $fruits); reset($temp);
while(list($key,$value)=each($temp)){ echo $key.\.$value.\; } ?>
在使用next(),each()函数遍历数组前,使用reset()函数将数组的当前指针复位是一个好习惯。 数组遍历语言结构: 1)
foreach(array as $value)
使用该方法循环遍历给定的数组array,每次循环中,当前指针所指元素的值赋给变量$value,然后移动当前指针指向下一个元素。 2)
foreach(array as $key=>$value)
每次循环中当前指针所指元素的键名赋给变量$key,当前指针所指元素的值赋给变量$value,然后移动当前指针指向下一个元素。
使用foreach除了可以实现数组的遍历,还可以实现对数组元素的键或值的更改。
注意:使用foreach语言结构时,数组的当前指针会自动指向第一个元素,所以不需要调用reset()函数。foreach操作的数组的一个拷贝,而不是该数组本身。在foreach遍历数组的过程中,尽量不要使用指针函数操作当前指针,否则会事与愿违。
改变数组元素的键或值的例子1:
create by zhang on time 2013-7-9 上午10:46:00 */
$a[2]='music'; $a[5]='movie'; $a[1]='computer'; $a[]='software';
foreach ($a as $key=>&$value){ $value=\.$value; }
print_r($a);//Array ( [2] => I like music [5] => I like movie [1] => I like computer [6] => I like software ) echo \; ?>
改变数组元素的键或值的例子2
create by zhang on time 2013-7-9 上午10:51:20 */
$a[2]='music'; $a[5]='movie'; $a[1]='computer'; $a[]='software';
foreach ($a as $key=>&$value){ $a[$key]=\.$value; }
print_r($a);//Array ( [2] => I like music [5] => I like movie [1] => I like computer [6] => I like software ) echo \; ?>: