梦想加空间 - 一个程序猿的个人博客网站

您現在的位置是:首頁 >php教程 >php教程九 數組|排序網站首頁php教程

php教程九 數組|排序

三只小菜猿 2023-01-31 10:21:16
簡介一個數組中的值可以是另一個數組,另一個數組的值也可以是一個數組,依照這種方式,我們可以創建二維或者三維數組。在多維數組中,主數組中的每一個元素也可以是一個數組,子數組中的每一個元素也可以是一個數組。然而,如果您想要遍歷數組并找出特定的一個呢?如果數組的項不只 3 個而是 300 個呢?數組可以在單個變量中存儲多個值,并且您可以根據鍵訪問其中的值。數組中的元素可以按字母或數字順序進行降序或升序排列。

PHP 數組

數組能夠在單個變量中存儲多個值:

<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

數組是什么?

數組是一個能在單個變量中存儲多個值的特殊變量。

如果您有一個項目清單(例如:車名字的清單),將其存儲到單個變量中,如下所示:

$cars1="Volvo";

$cars2="BMW";

$cars3="Toyota";


然而,如果您想要遍歷數組并找出特定的一個呢?如果數組的項不只 3 個而是 300 個呢?

解決辦法是創建一個數組!

數組可以在單個變量中存儲多個值,并且您可以根據鍵訪問其中的值。

在 PHP 中創建數組

在 PHP 中,array() 函數用于創建數組:

array();

在 PHP 中,有三種類型的數組:數值數組 - 帶有數字 ID 鍵的數組

關聯數組 - 帶有指定的鍵的數組,每個鍵關聯一個值

多維數組 - 包含一個或多個數組的數組

PHP 數值數組

這里有兩種創建數值數組的方法:

自動分配 ID 鍵(ID 鍵總是從 0 開始):

$cars=array("Volvo","BMW","Toyota");

人工分配 ID 鍵:

$cars[0]="Volvo";

$cars[1]="BMW";

$cars[2]="Toyota";


下面的實例創建一個名為 $cars 的數值數組,并給數組分配三個元素,然后打印一段包含數組值的文本:

<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

數組的長度 - count() 函數

count() 函數用于返回數組的長度(元素的數量):

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>

遍歷數值數組

遍歷并打印數值數組中的所有值,您可以使用 for 循環,如下所示:

<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
 
for($x=0;$x<$arrlength;$x++)
{
    echo $cars[$x];
    echo "<br>";
}
?>

PHP 關聯數組

關聯數組是使用您分配給數組的指定的鍵的數組。

這里有兩種創建關聯數組的方法:

$age=array("Peter"=>"35","Ben"=>"36","Joe"=>"37");

$age['Peter']="35";

$age['Ben']="36";

$age['Joe']="37";


腳本中使用指定的鍵:

<?php
$age=array("Peter"=>"35","Ben"=>"36","Joe"=>"37");
echo "Peter is " . $age['Peter'] . " years old.";
?>

遍歷關聯數組

遍歷并打印關聯數組中的所有值,您可以使用 foreach 循環,如下所示:

<?php
$age=array("Peter"=>"35","Ben"=>"36","Joe"=>"37");
 
foreach($age as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>

多維數組

多維數組是包含一個或多個數組的數組。

在多維數組中,主數組中的每一個元素也可以是一個數組,子數組中的每一個元素也可以是一個數組。

一個數組中的值可以是另一個數組,另一個數組的值也可以是一個數組,依照這種方式,我們可以創建二維或者三維數組。

二維數組語法格式:

array ( array (elements...), array (elements...), ... )

在這里插入圖片描述在這里插入圖片描述

以上數組的元素會自動分配鍵值,從 0 開始:

<?php
// 二維數組:
$cars = array
(
    array("Volvo",100,96),
    array("BMW",60,59),
    array("Toyota",110,100)
);
?>

以下實例,我們創建了指定鍵(關聯數組)的二維數組:

<?php
$sites = array
(
    "dyf"=>array
    (
        "dyf",
        "http://www.xxx.com"
    ),
    "google"=>array
    (
        "Google 搜索",
        "http://www.google.com"
    ),
    "taobao"=>array
    (
        "淘寶",
        "http://www.taobao.com"
    )
);
print("<pre>"); // 格式化輸出數組
print_r($sites);
print("</pre>");
?>

三維數組

三維數組是在二維數組的基礎上再嵌套一層數組,格式如下:

array ( array ( array (elements...), array (elements...), ... ), array ( array (elements...), array (elements...), ... ), ... )

在這里插入圖片描述在這里插入圖片描述
<?php
// 創建三維數組
$myarray = array(
    array(
        array(1, 2),
        array(3, 4),
    ),
    array(
        array(5, 6),
        array(7, 8),
    ),
);
     
// 輸出數組信息
print_r($myarray);
?>

上面的數組將輸出如下:

Array ( [0] => Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) ) [1] => Array ( [0] => Array ( [0] => 5 [1] => 6 ) [1] => Array ( [0] => 7 [1] => 8 ) ) )

數組排序

數組中的元素可以按字母或數字順序進行降序或升序排列。

PHP - 數組排序函數

sort() - 對數組進行升序排列

rsort() - 對數組進行降序排列

asort() - 根據關聯數組的值,對數組進行升序排列

ksort() - 根據關聯數組的鍵,對數組進行升序排列

arsort() - 根據關聯數組的值,對數組進行降序排列

krsort() - 根據關聯數組的鍵,對數組進行降序排列

sort() - 對數組進行升序排列

下面的實例將 $cars 數組中的元素按照字母升序排列:

<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);
?>

下面的實例將 $numbers 數組中的元素按照數字升序排列:

<?php
$numbers=array(4,6,2,22,11);
sort($numbers);
?>

rsort() - 對數組進行降序排列

下面的實例將 $cars 數組中的元素按照字母降序排列:

<?php
$cars=array("Volvo","BMW","Toyota");
rsort($cars);
?>

下面的實例將 $numbers 數組中的元素按照數字降序排列:

<?php
$numbers=array(4,6,2,22,11);
rsort($numbers);
?>

asort() - 根據數組的值,對數組進行升序排列

下面的實例根據數組的值,對關聯數組進行升序排列:

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
?>

ksort() - 根據數組的鍵,對數組進行升序排列

下面的實例根據數組的鍵,對關聯數組進行升序排列:

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
?>

arsort() - 根據數組的值,對數組進行降序排列

下面的實例根據數組的值,對關聯數組進行降序排列:

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age);
?>

krsort() - 根據數組的鍵,對數組進行降序排列

下面的實例根據數組的鍵,對關聯數組進行降序排列:

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
?>


夢想加空間!平時喜歡研究各種技術,目前在從事后端開發工作,熱愛生活、熱愛工作。
主站蜘蛛池模板: 乌鲁木齐万通汽车学校 | 烟台真空包装,烟台木包装,烟台熏蒸木箱-烟台福岭木制品有限公司 烟台通风管道,烟台风机风管,烟台风阀-烟台福莱通风设备有限公司 | 学汽修,汽修培训,西安汽车维修培训学校,西安万通汽车学校[官网] 削片机|木材破碎机|木材粉碎机|模板破碎机|双轴撕碎机_郑州木工机械制造厂 | 球形钢支座,粘滞阻尼器,抗震球型钢支座,盆式橡胶支座,调谐质量阻尼器,屈曲约束支撑-衡水路泽科技 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 深圳市泰美乐纸制品有限公司-纸杯厂,一次性纸杯,广告纸杯,奶茶纸杯,试饮纸杯定做 | 山东腾达源金属材料官网-耐磨板nm400,nm400耐磨钢板,nm500耐磨钢板切割,耐候板批发,高强板现货【价格】 | 室内儿童乐园定制_淘气堡订做_蹦床公园订制厂家-乐奇多 | 陕西|青海|兰州|新疆|西宁|净化工程|西安甘肃|PCR实验室|无尘车间|净化车间-西安环亚净化工程 | 学校直饮水机-反渗透纯水设备-家用净水器厂家-广州颖圣能源设备 学校洗碗机-郑州洗碗机厂家-商用洗碗机-郑州旭申环保科技有限公司 | 无尘车间_洁净车间_净化车间_洁净室工程一站式净化服务商-深圳市美克威尔环境科技有限公司 | 上海层傲传动设备有限公司 - 工业皮带,输送带,传动带 | 伸缩接头,限位伸缩接头,传力接头,可拆卸接头,橡胶接头,衬四氟橡胶接头,橡胶软连接,橡胶补偿器,防水套管- 巩义市隆盛管道设备有限公司 | 箱式电炉,箱式烧结炉,箱式马弗炉,箱式实验炉,高温箱式电阻炉,箱式加热炉,箱式退火炉,箱式真空气氛炉洛阳研博炉业有限公司 | 直流电机调速器,直流电机控制器,直流电机调速电源-淄博诚铖创惠电子有限公司 | 耐力板厂家_pc耐力板价格_透明耐力板批发-佛山市麦粒建材有限公司 | 佳龙食品集团|高端辣条领导品牌| 噪声治理,消声器,隔声屏障,隔声罩,噪声控制,降噪,空调降噪,水泵噪声治理,冷却塔噪声治理-北京华清恒业环保设备有限公司 | 烘干机_回转窑_破碎机_制砂机_洗砂机_球磨机-瑞光金属制品 | 拉力试验机|电子万能试验机|液压万能试验机|摩擦磨损试验机|济南试验机厂家-济南思达测试技术有限公司 | 聚合氯化铝pac-聚氯化铝-饮水级工业级聚合氯化铝-聚合氯化铝厂家价格 | 精品中文字幕在线观看,粉嫩av一区二区三区,最近中文字幕在线看免费视频,亚洲高清在线观看,日本一区二区视频手机免费看,国产黄色小视频,亚洲高清免费视频,国产精品一区二区欧美视频,亚洲人免费视频,亚洲视频在线观看免费,国产免费高清综合视频,中文字幕永久在线 | 玉米加工机械_玉米加工设备_玉米深加工机械_玉米糁加工设备--滑县鑫丰粮油机械有限公司 | 直流电机调速器,直流电机控制器,直流电机调速电源-淄博诚铖创惠电子有限公司 | 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 辽宁闻天香食品有限公司| 磨刀机厂家,全自动磨刀机-山东威海富田磨具 | 锯轨机|气动锯轨机|内燃锯轨机|电动钢轨钻孔机|内燃钢轨钻孔机-山东卓力铁路设备有限公司 | 湖南长沙癫痫病医院_湖南癫痫病专科医院_湖南治疗癫痫病专业医院_长沙和谐医院有限公司 | 新颖科技 - 家电及汽车外饰面板供应商 | 在线BMI计算器 - 免费计算身体质量指数(BMI) | 苏州温测仪器有限公司-苏州炉温跟踪仪|苏州隔热箱|苏州炉温测试仪|苏州恒温恒湿箱 | 企业微信注册_CRM客户管理系统_SCRM解决方案_私域流量运营_腾讯企点服务_企业QQ-腾辉网络 | 上海中医医院_上海名老中医专家门诊_上海徐浦中医医院 | 上海栋彤物流有限公司-可信赖的物流服务提供商 | 随车吊,洒水车,吸污车-程力专用汽车股份有限公司 | 网络舆情_网络舆情监控系统_舆情监测软件_舆情监控平台-北鲲舆情 | 泰安led显示屏-泰安户外裸眼3D显示屏-扩声系统-舞台灯光机械-电子屏-肥城宁阳新泰东平-泰安市奇美特电子有限公司 | 铸铁平台-铸铁平板平台厂家-加工优质高精度检验划线装配T型槽平台-尺寸规格全供应-建新铸造 | 破碎机锤头_知名破碎机锤头厂家-巩义东辰 | 饲料设备_饲料加工设备_饲料成套加工设备专业提供商-河南杰昌机械设备有限公司 |