您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP 多维数组转换一维数组

2024/3/18 16:09:06发布26次查看
下面是我写的将多维数组转换为一维数组的类方法,转换的一维数组的每个元素包含了相应的值在原有多维数组中的key,value以及维度(即深度),如果对应的原有元素也是数组,则相应的一维元素的value则表示为--(当然,这个可以改)。在格式化输出多维数组的时候比较有效。
namespace app\libs\utils;class arrayhelper{ public static function re_array($array, $p_node_deepth=0, $sub_node_deepth=0) { $out = array(); foreach($array as $k=>$v){ if(is_array($v)){ $tmp = array(key=>$k, value=>--,deepth=>$p_node_deepth); $out[] = $tmp; //数组的话,级联调用 $out = array_merge($out, self::re_array($v, $sub_node_deepth+1, $p_node_deepth+1)); }else{ $tmp = array(key=>$k, value=>$v,deepth=>$sub_node_deepth); $out[] = $tmp; } } return $out; }}
例:
$a = array( code=>0, detail=>array(msg=>get data success), func=>api);print_r(arrayhelper::re_array($a));
结果:
array([0] => array ( [key] => code [value] => 0 [deepth] => 0 )[1] => array ( [key] => detail [value] => -- [deepth] => 0 )[2] => array ( [key] => msg [value] => get data success [deepth] => 1 )[3] => array ( [key] => func [value] => api [deepth] => 0 ))
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product