WEB开发网
开发学院WEB开发PHP 多维数组转一维 阅读

多维数组转一维

 2012-05-20 07:50:20 来源:WEB开发网   
核心提示:ArrMd2Ud/** * 将多维数组转为一维数组 * @author echo <chenj@nalashop.com> * @param array $arr * @return array */function ArrMd2Ud($arr) {#将数值第一元素作为容器,作地址赋值,多维数组转一维,$a

ArrMd2Ud

/**
 * 将多维数组转为一维数组
 * @author echo <chenj@nalashop.com>
 * @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;
}

$arr = array(1, 2, 3 => array(1, 2, 'ar' => array(1, 2 => array('a', 'b'))), array('ar' => array(3, 4)));
print_r(ArrMd2Ud($arr));

Tags:多维 数组 一维

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接