IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 【PHP基础-6】PHP数组的创建、访问及遍历实例解析 -> 正文阅读

[PHP知识库]【PHP基础-6】PHP数组的创建、访问及遍历实例解析

1 数组简介

(1)定义 数组是一个能在单个变量中存储多个值的特殊变量
(2)本质:PHP中的 array 实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型针对多种不同用途进行了优化; 它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。

(3)数组由键值对组成,键名(key)和键值(value)。
(4)数组元素:除了对象,可存放任意类型的数据,包括数组。

(5)数组按键名命名方式可以分为两类

  • 数值数组:键名是整型正数,也称为索引数组。
  • 关联数组:键名是具有语义的字符串

2 一维数组的创建、访问和遍历

2.1 数组的创建

有两种方法创建数组。
(1)第一种创建方式语法为:$数组名[]=键值

  • 1)在未指定键名的情况下,给数组赋值,键名从零开始计数,依次增大。具体实例如下:
<?php
$stu[]="dzz";
$stu[]=24;
$stu[]=true;
$stu[]=99;
echo "<pre>";
print_r($stu);  //输出数组,echo只能输出普通变量
echo "<br/>";
var_dump($stu);
?>

上述代码的运行结果如下:
在这里插入图片描述

  • 2)可以手动给键名,键名可以为整型数字也可以是字符串。具体实例如下:
<?php
$stu[10]="dzz";
$stu[20]=24;
$stu[30]=true;
$stu[40]=99;

echo "<pre>";
print_r($stu);  //输出数组,echo只能输出普通变量
echo "<br/>";
var_dump($stu);
?>

上述代码的运行结果如下:
在这里插入图片描述

<?php
//指定字符串键名
$stu['name']="dzz";
$stu['age']=24;
$stu['sex']=true;
$stu['grade']=99;

echo "<pre>";
print_r($stu);  //输出数组,echo只能输出普通变量
echo "<br/>";
var_dump($stu);
?>

上述代码的运行结果如下:
在这里插入图片描述

(2)第二种创建方式采用array结构创建数组,语法为数组名=array(键值,键值,...,键值)

  • 1)未指定键名创建数组,键名从零开始计数,依次增大。具体实例如下:
 <?php
//未指定健名
$stu1=array("dzz",24,true,99);  //创建数组
echo "<pre>";
print_r($stu1);  //输出数组,echo只能输出普通变量
echo "<br/>";
var_dump($stu1);
?>

上述代码运行结果如下:
在这里插入图片描述

  • 2)指定键名创建数组,具体实例如下:
<?php
$stu2=array(
    'name' => 'MDM',
    'age' => 23,
    'sex' => false,
    'grade'=> 78
);
var_dump($stu2);

上述代码运行结果如下:
在这里插入图片描述

?>


2.2 数组的访问

可以通过数组名与键名来访问数组。数组的访问包括①数组的读取;②数组的添加;③数组的修改。注意数组的添加与修改的区别在于,对数组进行修改时,需要指定键名,且指定的键名是已存在的。实例如下:

<?php
echo "<pre>";
echo "<hr/>";
$stu2=array(
    'name' => 'MDM',
    'age' => 23,
    'sex' => false,
    'grade'=> 78
);
var_dump($stu2);
echo "<hr/>";

//想访问$stu2的名字
echo $stu2['name'];
echo "<hr/>";

//给$stu2增加一个键值对
$stu2[]=168;
var_dump($stu2);
echo "<hr/>";

//将$stu2的grade键名对应的键值改为98;
$stu2['grade']=98;
var_dump($stu2);
?>

上述代码的运行结果为:
在这里插入图片描述

2.3 数组的遍历

遍历数组可以采用for循环和foreach循环。两种循环语句用法可参考文章《【PHP基础-4】PHP流程控制语句
(1)for循环。只适用于有规律的索引数组。

<?php
echo "<pre>";
//未指定健名
$stu1=array("dzz",24,true,99); //创建数组
var_dump($stu1);
//for循环遍历$stu1
for($i=0;$i<count($stu1);$i++){
    echo $stu1[$i]."<br/>";
}
?>

上述代码的运行结果为:
在这里插入图片描述

(2)foreach循环。

<?php
echo "<pre>";
$stu2=array(
    'name' => 'MDM',
    'age' => 23,
    'sex' => false,
    'grade'=> 78
);
var_dump($stu2);
//foreach循环遍历$stu2
foreach($stu2 as $key => $value){
    echo $key." => ".$value."<br/>";
}
?>

上述代码的运行结果为:
在这里插入图片描述

3 多维数组的创建与访问

<?php
echo "<pre>";
$students=array(
    1 => array("dzz",24,true,99),
    2 => array("MDM",23,false,78),
    3 => array("XL",25,true,65)
);
print_r($students);
echo "<hr/>";

//想访问第一个学生的成绩
echo $students[1][3];
?>

上述代码执行结果如下:
在这里插入图片描述

4 预定义超全局数组变量

定义:是指PHO定义好了的,可以直接使用。其中,超全局是指函数内部和外部均能使用。

名称作用
$GLOBALS引用全局作用域中可用的全局变量
$_SERVER一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
$_GET接受来自于URL传递给当前脚本的变量的数组,例如:http://localhost/PHP/array/get.php?name=Dzz&passwd=123456,参数的名会成为该数组的键名,参数的值会称为该数组的键值
$_POST当HTTP POST请求的 Content-Type 是application/x-www-fprm-urlencoded 、multipart/form-data时,会将变量以关联数组形式传入当前脚本 ,即接受HTTP POST请求传递过来的参数
$_FILES通过HTTP POST方式上传的文件相关信息
$_COOKIE通过HTTP Cookie方式传递给当前脚本的变量的数组
$_SESSION当前脚本可用SESSION变量的数组
$_REQUEST默认情况下包含了$_GET, $_POST和 $_COOKIE的数组
$_ENV通过环境方式传递给当前脚本的变量的数组

5 数组内置函数

使用PHP内置的数组处理函数,将使得数据处理更加高效、代码更加简介。常用的内置函数有:

函数名 作用
array_keys() 函数 返回包含数组中所有键名的一个新数组
array_merge() 函数 用于把一个或多个数组合并为一个数组。
array_key_exists() 函数 检查某个数组中是否存在指定的键名
array_rand() 函数 返回数组中的一个随机键名,或者如果指定函数返回键名不只一个,则返回一个包含随机键名的数组。
array_search() 函数 在数组中搜索某个键值,并返回对应的键名。
array_sum() 函数 返回数组中所有值的和。
array_product() 函数 计算并返回数组的乘积。

6 归纳

掌握两种数组的创建、访问修改、遍历的方法;
了解数组操作函数的查询方法。

参考文章

[1] 《Array相关函数》用于查询可以应用操作数组的函数。
[2] 《【PHP基础】数组

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 15:58:20  更:2022-04-06 15:58:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 12:25:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码