- /**
- * 数组扁平化
- * @param $arr
- * @return array
- */
- function getArrayStr($arr)
- {
- // 不是数组直接返回
- if (!is_array($arr)) {
- return [$arr];
- }
- $arr2 = [];
- // 是数组就遍历
- foreach ($arr as $item) {
- if (!is_array($item)) {
- $arr2[] = $item;
- }else{
- $arr2 = array_merge($arr2, getArrayStr($item));
- }
- }
- return $arr2;
- }
- var_dump(getArrayStr([
- "外婆",
- [
- "爷爷",
- "奶奶",
- [
- "大爷",
- "大妈",
- [
- "陌生人1",
- "陌生人2",
- ]
- ]
- ]
- ]));
- var_dump(getArrayStr([
- [
- [
- [
- "你自己",
- ]
- ]
- ]
- ]));
复制代码
完善了一下@Jan 的思路
- # php a.php
- array(7) {
- [0]=>
- string(6) "外婆"
- [1]=>
- string(6) "爷爷"
- [2]=>
- string(6) "奶奶"
- [3]=>
- string(6) "大爷"
- [4]=>
- string(6) "大妈"
- [5]=>
- string(10) "陌生人1"
- [6]=>
- string(10) "陌生人2"
- }
- array(1) {
- [0]=>
- string(9) "你自己"
- }
复制代码 |