PHP从入门到能用(六)数组

文章目录

  • 数组的创建
    • 【6-1】显式创建数组
    • 【6-2】创建多维数组
  • 数组的遍历
    • 【6-3】使用 while 循环访问数组
    • 【6-4】使用 for 循环访问数组
    • 【6-5】使用 foreach 循环访问数组
    • 【6-6】使用 foreach 结构遍历一个二维数组
  • 数组的排序
    • 【6-7】使用 while 循环访问数组
    • 【6-8】多维数组排序
  • 数组的查找
    • 【6-9】利用array_search()函数进行查找
  • 数组的拆分
    • 【6-10】array_splice()函数的用法
  • 数组的合并
    • 【6-11】array_search()函数的用法
  • 实战应用

    • 【z6-1】 定义并输出数组
    • 【z6-2】 显示数组元素
    • 【z6-3】 显示星期几
    • 【z6-4】创建并输出二维数组
    • 【z6-5】使用 array_search()函数查找数组的元素值
    • 【z6-6】对数组进行升序和降序
    • 【z6-7】将下列信息存放在一个二维数组中并遍历输出

数组的创建

【6-1】显式创建数组


$exampleArray = array(0 => "item1", 1 => "item2", 2 => "item3");
echo $exampleArray[0] . "";
echo $exampleArray[1] . "";
echo $exampleArray[2] . "";

在这里插入图片描述

【6-2】创建多维数组


$Array = array(
    "color" => array("红", "蓝", "白"),
    "number" => array("1", "2", "3", "4", "5", "6"),
);

echo $Array["color"][2] . "
"
; print_r($Array);

在这里插入图片描述



数组的遍历

【6-3】使用 while 循环访问数组


$arr=array("item1","item2","item3","item4","item5","item6");

while(list($key,$value)=each($arr)){
    echo $key." ";
    echo $value."
"
; }

PHP从入门到能用(六)数组_第1张图片

【6-4】使用 for 循环访问数组


$array=range(1,10);
for($i=0;$i<10;$i++){
    echo $array[$i];
}

在这里插入图片描述

【6-5】使用 foreach 循环访问数组


$array=array("红色","白色","蓝色");
foreach($array as $arrvalue){
    echo "value:$arrvalue";
}

echo "

"; foreach($array as $key=>$value){ echo "key:$key;value:$value".""; }

在这里插入图片描述

【6-6】使用 foreach 结构遍历一个二维数组


$array=array("item1"=>array("a","b","c","d"),"2"=>array("A","B","C","D"),array("1","2","3","4"));

foreach($array as $key=>$arrvalue){
    echo "$key:\t";
    foreach($arrvalue as $value){
        echo "$value\t";
    }
    echo "
"
; }

PHP从入门到能用(六)数组_第2张图片



数组的排序

【6-7】使用 while 循环访问数组


$array1=array("a"=>5,"x"=>3,5=>7,"c"=>1);
$array2=array(2=>"c",4=>"a",1=>"b");
if(sort($array1))
    print_r($array1);
else
    echo "排序\$array1 失败!";
echo "

"; if(sort($array2)) print_r($array2); else echo "排序\$array2 失败!";

在这里插入图片描述

【6-8】多维数组排序

array_multisort( a r r a y 1 , array1, array1,arg,$array2……),其中第一个参数必须是一个 数组,接下来每个参数可以是数组或固定含义的标志。当函数的参数是一个数组列表时,函数首先对数组列表中的第一个数组进行排序,下一个数组中值得顺序按照对应的第一个数组的值的顺序排列。


$xh = array("01", "02", "03");
$xm = array("张三", "李四", "王五");
$cj = array("69", "82", "45");
array_multisort($cj, SORT_DESC, $xh, $xm);
print_r($xh);
echo "
"
; print_r($xm); echo "
"
; print_r($cj);

PHP从入门到能用(六)数组_第3张图片



数组的查找

【6-9】利用array_search()函数进行查找

如果查找成功,则返回该值所在的键名,否则返回 false,如果要查找的值不止一次的出现,则返回第一个匹配的键名。第三个参数可以为 true 或 false,如果为 true 则比较二者是否全等。


$arr = array(15, "a", 30, 60, 30, "b", "C");
echo "15:" . array_search(15, $arr) . "
"
; echo "30:" . array_search("30", $arr, true) . "
"
; echo "60:" . array_search("60", $arr) . "
"
; echo "30:" . array_search(30, $arr) . "
"
; echo "c:" . array_search("c", $arr) . "
"
; echo "C:" . array_search("C", $arr) . "";

PHP从入门到能用(六)数组_第4张图片



数组的拆分

【6-10】array_splice()函数的用法

array_splice($array,$offset,$length),其中$offset 为获取子集的开始位置,如果为负则将从距离数组末尾该值指定的数值量开始;$length 为获取子集的长度,如果为负,则将 距离数组末尾该值指定的数值量终止,如果没有设置$length 参数,则将从开始位置一直取 到数组的末尾。


$arr = array(4, 3, 6, 48, 65, 45, 34, 86);
$arr1 = array_splice($arr, 1);
print_r($arr1);

$arr2 = array_splice($arr, 1, 2);
print_r($arr2);

$arr3 = array_splice($arr, -4, 2);
print_r($arr3);

$arr4 = array_splice($arr, 1, -2);
print_r($arr4);

在这里插入图片描述



数组的合并

【6-11】array_search()函数的用法

array_search($array1,$array2,……),如果输入的数组中有相同的字符串名,则该键名后 面的值将覆盖前一个值;如果数组包含的键名是数字键名,后面的值将不会覆盖原来的值,而是附加到后面;如果只给了一个数组并且该数组是数字索引的,该键名会以连续的方式重新索引。


$arr1=array("color"=>"red",1=>2,4);
$arr2=array(1=>"a","color"=>"green",4);
$result=array_merge($arr1,$arr2);
print_r($result);

在这里插入图片描述

实战应用

【z6-1】 定义并输出数组

将字符串”asp”,”php”,”jsp”赋给名为 languages 的数组,然后分别输出这三个元素


$languages = array("asp", "php", "jsp");
foreach($languages as $v){
    echo $v."
"
; }

PHP从入门到能用(六)数组_第5张图片

【z6-2】 显示数组元素

使用 array()函数定义数组$arr,元素值为(新浪、网易、腾讯、雅虎),对应的数组下标分别为(1,2,3,9),并在浏览器上显示出数组元素。


$arr = array(1 => "新浪", 2 => "网易", 3 => "腾讯", 9 => "雅虎");
print_r($arr);

在这里插入图片描述

【z6-3】 显示星期几

定义一个数组,数组元素包括“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”、“星期日”。使用 foreach 语句,网页上显示:
今天是:星期一
今天是:星期二
……
今天是:星期日


$date = array("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日");
foreach ($date as $k=>$value) {
    echo "今天是:{$value}
"
; }

PHP从入门到能用(六)数组_第6张图片

【z6-4】创建并输出二维数组


$ar2 = array(array(11, 12, 13), array(21, 22, 23), array(31, 32, 33));
foreach ($ar2 as $k1=>$v1) {
    foreach ($v1 as $k2=>$v2) {
        echo "\$ar2[{$k1}][{$k2}]={$v2}  ";
    }
    echo "
"
; }

在这里插入图片描述

【z6-5】使用 array_search()函数查找数组的元素值

定义数组$a,其元素值为(a1、b2、c3、 d4),并查找数组中是否含有 b2,则返回其位置;如果不含,则数组“在数组中未发现字符 b2”。


$word = "b2";
Word($word);
function Word($word)
{
    $a = array("a1", "b2", "c3", "d4");
    if(array_search($word, $a)){
        echo "所查找的元素的数组下标为:".array_search($word, $a);
    }else{
        echo "在数组中未发现字符 b2";
    }
}

在这里插入图片描述

【z6-6】对数组进行升序和降序

定义一个数组,值分别为(1,1.2,-2.3,90.25),输出该数组;计算数组个元素的和; 对数组元素按照值的大小分别进行升序和降序排列


$num = array(1, 1.2, -2.3, 90.25);
echo "

排序前:

"
; forArray($num); echo "

数组所有元素的和:

"
; echo "".array_sum($num)."
"
; echo "

升序排列后:

"
; asort($num); forArray($num); echo "

降序排列后:

"
; arsort($num); forArray($num); function forArray($a) { foreach ($a as $k => $v) { $k++; echo "第{$k}个数为{$v}
"
; } echo "
"
; }

PHP从入门到能用(六)数组_第7张图片

【z6-7】将下列信息存放在一个二维数组中并遍历输出

张三 李四 王五 赵六
86 90 82 85


$arr = array(array("张三", "李四", "王五", "赵六"), array("86   ", "90   ", "82   ", "85   "));

foreach ($arr as $v1) {
    foreach ($v1 as $v2) {
        echo $v2 . " ";
    }
    echo "
"
; }

在这里插入图片描述

你可能感兴趣的:(后端_PHP)