Heim > Backend-Entwicklung > PHP-Tutorial > PHP 多维数组转换一维数组

PHP 多维数组转换一维数组

WBOY
Freigeben: 2016-06-23 13:35:18
Original
1217 Leute haben es durchsucht

下面是我写的将多维数组转换为一维数组的类方法,转换的一维数组的每个元素包含了相应的值在原有多维数组中的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;    }}
Nach dem Login kopieren

例:

$a = array(    "code"=>0,    "detail"=>array("msg"=>"get data success"),    "func"=>"api");print_r(ArrayHelper::re_array($a));
Nach dem Login kopieren

结果:

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    ))
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage