PHP Foreach循环-遍历多维数组

目录

使用格式

例题


使用格式

Foreach使用格式分为两种:

一、

foreach ($array as $value)
{
    要执行代码;
}

每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

二、

foreach ($array as $key => $value)
{
    要执行代码;
}

每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。

例题

如下代码所示:

$x存储了三名同学的姓名和身高

使用Foreach循环即可依次读出每一名学生的姓名和身高


<?php
$x=array(1=>array('name'=>'张三', 'height'=>'165cm')
       , 2=>array('name'=>'李四', 'height'=>'172cm')
       , 3=>array('name'=>'王五', 'height'=>'180cm')
);
foreach ($x as $key => $value)
{
    foreach ($value as $key2 => $value2)
    {
        if($key2 == 'name')    echo "第".$key"名同学姓名是".$key2;
        else echo "身高为:".$value2;
    }
}
?>

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP 提供了多种便捷的方式来遍历多维数组,以下是其中几种常用的方法: 1. foreach 循环:可以使用 foreach 循环遍历多维数组。例如: ```php $array = array( array('name' => 'John', 'age' => 28), array('name' => 'Mary', 'age' => 30), array('name' => 'Tom', 'age' => 25) ); foreach ($array as $value) { echo $value['name'] . ' is ' . $value['age'] . ' years old.<br>'; } ``` 输出: ``` John is 28 years old. Mary is 30 years old. Tom is 25 years old. ``` 2. array_walk_recursive() 函数:可以使用 `array_walk_recursive()` 函数来遍历多维数组中的所有元素。例如: ```php $array = array( array('name' => 'John', 'age' => 28), array('name' => 'Mary', 'age' => 30), array('name' => array('first' => 'Tom', 'last' => 'Smith'), 'age' => 25) ); function print_values($value, $key) { echo "$key: $value<br>"; } array_walk_recursive($array, 'print_values'); ``` 输出: ``` name: John age: 28 name: Mary age: 30 first: Tom last: Smith age: 25 ``` 3. RecursiveArrayIterator 和 RecursiveIteratorIterator 类:可以使用 `RecursiveArrayIterator` 和 `RecursiveIteratorIterator` 类来遍历多维数组。例如: ```php $array = array( array('name' => 'John', 'age' => 28), array('name' => 'Mary', 'age' => 30), array('name' => array('first' => 'Tom', 'last' => 'Smith'), 'age' => 25) ); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array), RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $key => $value) { echo "$key: $value<br>"; } ``` 输出: ``` name: John age: 28 name: Mary age: 30 first: Tom last: Smith age: 25 ``` 这些方法都可以方便地遍历多维数组,根据实际情况选择使用即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值