php基础-数组整理(三)
2020-03-23 10:08:15 来源:admin 点击:815
PHP array_merge() 函数
把两个数组合并为一个数组:
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));
?>
Array ( [0] => red [1] => green [2] => blue [3] => yellow )
//将两个关联数组合并为一个数组:
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
?>
Array ( [a] => red [b] => yellow [c] => blue )
//仅使用一个带有整数键名的数组参数:
<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge($a));
?>
去掉键值对
Array ( [0] => red [1] => green )
PHP array_merge_recursive() 函数
把两个数组合并为一个数组:
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));
?>
// Array ( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue )
数组的队列操作
PHP array_pop() 函数
删除数组中的最后一个元素
<?php
$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>
// Array ( [0] => red [1] => green )
PHP array_push() 函数
向数组尾部插入 "blue" 和 "yellow":
<?php
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>
PHP array_shift() 函数
删除数组中的第一个元素(red),并返回被删除元素的值:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_shift($a);
print_r ($a);
?>
PHP array_unshift() 函数
把元素 "blue" 插入数组中:
<?php
$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");
print_r($a);
?>
// Array ( [0] => blue [a] => red [b] => green )
PHP array_replace() 函数
如果一个键仅存在于第二个数组中:后面的数组替换前面的数组
<?php
$a1=array("a"=>"red","green");
$a2=array("a"=>"orange","b"=>"burgundy");
print_r(array_replace($a1,$a2));
?>
array_replace() 与 array_replace_recursive() 的差别:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>
Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black [1] => blue ) )
Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black ) )
PHP array_reverse() 函数
以相反的元素顺序返回数组:
<?php
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
?>
Array ( [c] => Toyota [b] => BMW [a] => Volvo )
PHP array_search() 函数
在数组中搜索键值 "red",并返回它的键名:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>
//在数组中搜索键值 5,并返回它的键名(注意 ""):
<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
//如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素
echo array_search(5,$a,true);
?>
// b
PHP array_slice() 函数
array_slice(array,start,length,preserve)
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2));
?>
// Array ( [0] => green [1] => blue )
PHP array_unique() 函数
移除数组中重复的值:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
?>
// Array ( [a] => red [b] => green )
PHP array_values() 函数
返回数组的所有值(非键名):
<?php
$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a));
?>
Array ( [0] => Bill [1] => 60 [2] => USA )
排序函数
PHP - 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
PHP arsort() 函数
按照键值对关联数组进行降序排序:
<?php
$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");
arsort($age);
?>
PHP asort() 函数
按照键值对关联数组进行升序排序:
<?php
$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");
asort($age);
?>
PHP krsort() 函数
按照键名对关联数组进行降序排序:
<?php
$age=array("Bill"=>"60","Steve"=>"56","mark"=>"31");
krsort($age);
?>
PHP compact() 函数
创建一个包含变量名和它们的值的数组:
<?php
$firstname = "Bill";
$lastname = "Gates";
$age = "60";
$result = compact("firstname", "lastname", "age");
print_r($result);
?>
使用不匹配变量的字符串,以及一个变量名数组:
<?php
$firstname = "Bill";
$lastname = "Gates";
$age = "60";
$name = array("firstname", "lastname");
$result = compact($name, "location", "age");
print_r($result);
?>
// Array ( [firstname] => Bill [lastname] => Gates [age] => 60 )
PHP extract() 函数
将键值 "Cat"、"Dog" 和 "Horse" 赋值给变量 $a、$b 和 $c:
<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
指针操作
PHP current() 函数
输出数组中的当前元素的值:
<?php
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>";
?>
该函数不会移动数组内部指针。要做到这一点,请使用 next() 和 prev() 函数。
相关的方法:
end() - 将内部指针指向数组中的最后一个元素,并输出
next() - 将内部指针指向数组中的下一个元素,并输出
prev() - 将内部指针指向数组中的上一个元素,并输出
reset() - 将内部指针指向数组中的第一个元素,并输出
each() - 返回当前元素的键名和键值,并将内部指针向前移动
<?php
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>"; // 当前元素是 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
echo current($people) . "<br>"; // 现在当前元素是 Steve
echo prev($people) . "<br>"; // Steve 的上一个元素是 Bill
echo end($people) . "<br>"; // 最后一个元素是 David
echo prev($people) . "<br>"; // David 之前的元素是 Mark
echo current($people) . "<br>"; // 目前的当前元素是 Mark
echo reset($people) . "<br>"; // 把内部指针移动到数组的首个元素,即 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
print_r (each($people)); // 返回当前元素的键名和键值(目前是 Steve),并向前移动内部指针
?>
Bill
Steve
Steve
Bill
David
Mark
Mark
Bill
Steve
Array ( [1] => Steve [value] => Steve [0] => 1 [key] => 1 )
PHP in_array() 函数
in_array(search,array,type)
在数组中搜索值 "Glenn" ,并输出一些文本:
<?php
$people = array("Bill", "Steve", "Mark", "David");
if (in_array("Mark", $people))
{
echo "匹配已找到";
}
else
{
echo "匹配未找到";
}
?>
//匹配已找到
PHP list() 函数
把数组中的值赋给一些变量:
<?php
$my_array = array("Dog","Cat","Horse");
list($a, $b, $c) = $my_array;
echo "I have several animals, a $a, a $b and a $c.";
?>