> php教程 > PHP源码 > 多维数组转一维

多维数组转一维

PHP中文网
풀어 주다: 2016-06-01 14:33:10
원래의
1118명이 탐색했습니다.

跳至

/**
 * 将多维数组转为一维数组
 * @author echo* @param array $arr
 * @return array
 */
function ArrMd2Ud($arr) {
	#将数值第一元素作为容器,作地址赋值。
	$ar_room = &$arr[key($arr)];
	#第一容器不是数组进去转呀
	if (!is_array($ar_room)) {
		#转为成数组
		$ar_room = array($ar_room);
	}
	#指针下移
	next($arr);
	#遍历
	while (list($k, $v) = each($arr)) {
		#是数组就递归深挖,不是就转成数组
		$v = is_array($v) ? call_user_func(__FUNCTION__, $v) : array($v);
		#递归合并
		$ar_room = array_merge_recursive($ar_room, $v);
		#释放当前下标的数组元素
		unset($arr[$k]);
	}
	return $ar_room;
}
로그인 후 복사


2. [代码]

$arr = array(1, 2, 3 => array(1, 2, 'ar' => array(1, 2 => array('a', 'b'))), array('ar' => array(3, 4)));
print_r(ArrMd2Ud($arr));
로그인 후 복사

           

       

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿