从头学PHP之数组输出&基本函数

上期我们讲到了数组,数组是个特殊的变量,在程序中的重要程度很高,大部分数据处理的时候会用到这种特殊的变量,那么现在让我们继续深入一下吧。

上期我们打印出了数组的值,用print_r()或者var_dump()这俩函数,在本期中会涉及到用循环输出数组的所有元素,和用特定的key值来获取指定元素

一、获取数组指定元素

1、一维数组

数值数组
php 复制代码
$cars=array("Volvo","BMW","Toyota");

如果我们想取出某个元素 那么我们可以用数组名+下标(key)的方式

因为是数值数组所以key必须是整数例如 0,1,2

语法:

php 复制代码
$cars[num]

示例

如果我们想取得数组内第一个元素的值

php 复制代码
echo $cars[0];

结果:
Volvo

关联数组
php 复制代码
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

如果我们想取出某个元素 那么我们可以用数组名+下标(key)的方式

关联数组每个值有固定的key

语法:

php 复制代码
$age["key"]

示例:

如果我们想取得下标(key)为Peter的值

php 复制代码
$age["Peter"]

结果:
35

2、 多维数组

上期我们讲了多维数组的概念

语法:

1、数值数组
php 复制代码
array (
    array (elements...),
    array (elements...),
    ...
)

所以我们想取某个元素时根据上图中就可以获取到

php 复制代码
<?php
// 二维数组:
$cars = array
(
    array("Volvo",100,96),
    array("BMW",60,59),
    array("Toyota",110,100)
);
?>

比如我们想取得$cars数组中第一个数组中的第二个元素

php 复制代码
$cars[0][1]

输出:
100

2、关联数组

语法:

php 复制代码
array (
   "key1"=> array (elements...),
   "key2"=> array (elements...),
    ...
)

示例:

php 复制代码
<?php
// 二维数组:
$cars = array
(
    "Volvoinfo"=> array("Volvo",100,96),
    "BMWinfo"=>array("BMW",60,59),
    "Toyotainfo"=>array("Toyota",110,100)
);
?>

比如我们想取得 "Volvoinfo"中的第一个元素

php 复制代码
$cars["Volvoinfo"][0]

结果
Volvo

二、遍历数组

上期我们讲到数组有 ,数值数组、关联数组、多维数组

现在有两种方式遍历数组

  1. for循环遍历
  2. foreach循环遍历

1、for循环遍历

用for循环遍历的话一般只用于遍历数值数组,for循环的参数咱们应该还记得吧

语法

php 复制代码
for(初始值,条件,增量){
	
}

那咱们怎么确定用于循环的参数呢呢?

  1. 初始条件,因为数值数组的ID值是从0开始的(上期有讲)所以当循环数值数组时初始值维0
  2. 条件,我们循环不可能无限循环,当数组内的元素被全部遍历之后那么循环就该停止,所以数组的长度,或者说数组内元素的个数就是咱们判断的条件,当循环次数大于数组的长度(个数)时,停止循环

示例:

php 复制代码
<?php
//定义数组
$cars=array("Volvo","BMW","Toyota");
//获取数组长度
$arrlength=count($cars);
//开始循环
for($x=0;$x<$arrlength;$x++)
{
    echo $cars[$x];
    echo "<br>";
}
?>

输出:

Volvo
BMW
Toyota
本期会讲关于数组的一些相关函数,获取数组长度的函数也会包括在内

2、foreach循环遍历

foreach循环不管是关联数组还是数值数组都可以用,也是遍历循环中最常用的

语法:

php 复制代码
foreach($array as $key=>$val){

}

foreach循环就不用判断数组的长度,当数组内的元素被循环遍历完成之后就会停止循环比较省心

示例:

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

三、数组基本函数

  1. count()用于对数组或 Countable 对象中的所有元素进行计数
  2. array_push()将一个或多个单元压入数组的末尾(入栈)
  3. array_pop() 弹出数组最后一个单元(出栈)
  4. array_shift()将数组开头的单元移出数组
  5. array_unshift()在数组开头插入一个或多个单元
  6. array_slice()从数组中取出一段
  7. array_merge()合并一个或多个数组
  8. array_key_exists()检查数组里是否有指定的键名或索引
  9. array_search()在数组中搜索给定的值,如果成功则返回首个相应的键名

我都把相应函数的详细信息添加了超链接,大家可以点击跳转到官方网站(英语好的自行阅读,英语不好的,在网页 右击-》翻译为中文)

预告

下期讲 对象

相关推荐
周全全11 分钟前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Mr.Pascal1 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
建群新人小猿2 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
黑客Ela5 小时前
网络安全问题概述
安全·web安全·php
Wh1teR0se5 小时前
详解php://filter--理论
web安全·php
李钢蛋10 小时前
PHP函数---function_exists()详解
开发语言·php
不如喫茶去10 小时前
PHP将图片合成gif动图
php·php生成gif·图片生成gif·合成gif
全栈小512 小时前
【PHP】部署和发布PHP网站到IIS服务器
服务器·开发语言·php
饮啦冰美式12 小时前
php如何定位问题
开发语言·php
夜色呦15 小时前
实验室管理自动化:Spring Boot技术的应用
spring boot·自动化·php