php foreach判断第一个_php 遍历多维数组

<?php
$arr=[1,2,4,6,[2,5,6,7,[9,12,55,66,77]]];
$data_1=arr_foreach($arr);
function arr_foreach($arr){
	 static $data;
	if(!is_array($arr)){
		return $data;
	}
	foreach($arr as $k=>$v){
		if(is_array($v)){
			arr_foreach($v);
		}else{
			$data[]=$v;
		}
	}
	return $data;
}

输出结果为:

57a3ce56e5d42902b25acd3ba34cb370.png

总结:思路使用递归方法 判断是否是数组 是数组就继续拆分。

贴示:

  • 要知道static 定义一个属性的意义 静态变量仅在局部域中存在且只初始化一次,即使程序执行完,离开此局部域他的值也不会消失,再次调用此局部域时会继续使用上次的结果。
  • 经典试题

fc383a7ea6b4910789f33747ce570edd.png
  • 总结静态属性静态方法

e18b2d8cd666503a4d670ad656e88069.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值