从头学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()在数组中搜索给定的值,如果成功则返回首个相应的键名

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

预告

下期讲 对象

相关推荐
ServBay17 小时前
告别面条代码,PSL 5.0 重构 PHP 性能与安全天花板
后端·php
JaguarJack3 天前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo3 天前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack4 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo4 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack5 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay6 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954486 天前
CTF 伪协议
php
BingoGo8 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack8 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端