PHPで多次元配列のキー名をリセットする方法

WBOY
リリース: 2016-06-20 12:33:31
オリジナル
1748 人が閲覧しました

Array(    [id] => 60179    [pid] => 60071    [name] => 13666520868    [children] => Array        (            [60225] => Array                (                    [id] => 60225                    [pid] => 60179                    [name] => 13587283707                )            [60226] => Array                (                    [id] => 60226                    [pid] => 60179                    [name] => 13511265626                )            [60230] => Array                (                    [id] => 60230                    [pid] => 60179                    [name] => 15088323701                    [children] => Array                        (                            [60234] => Array                                (                                    [id] => 60234                                    [pid] => 60230                                    [name] => 13967187282                                )                        )                )            [60383] => Array                (                    [id] => 60383                    [pid] => 60179                    [name] => 13819296086                    [children] => Array                        (                            [60384] => Array                                (                                    [id] => 60384                                    [pid] => 60383                                    [name] => 18305721297                                )                        )                )        ))
ログイン後にコピー



—————————— 以下が私が望む結果です————————————————
この配列をjsonデータに変換したいのですが、上記の配列にはjson変換に無効なキー名が含まれているため、リセットするには、0から開始するだけです

Array(    [id] => 60179    [pid] => 60071    [name] => 13666520868    [children] => Array        (            [0] => Array                (                    [id] => 60225                    [pid] => 60179                    [name] => 13587283707                )            [1] => Array                (                    [id] => 60226                    [pid] => 60179                    [name] => 13511265626                )            [2] => Array                (                    [id] => 60230                    [pid] => 60179                    [name] => 15088323701                    [children] => Array                        (                            [0] => Array                                (                                    [id] => 60234                                    [pid] => 60230                                    [name] => 13967187282                                )                                                        )                )            [3] => Array                (                    [id] => 60383                    [pid] => 60179                    [name] => 13819296086                    [children] => Array                        (                            [0] => Array                                (                                    [id] => 60384                                    [pid] => 60383                                    [name] => 18305721297                                )                        )                )        ))
ログイン後にコピー


ディスカッションへの返信 (解決策)

$a = array (  'id' => '60179',  'pid' => '60071',  'name' => '13666520868',  'children' =>   array (    60225 =>     array (      'id' => '60225',      'pid' => '60179',      'name' => '13587283707',    ),    60226 =>     array (      'id' => '60226',      'pid' => '60179',      'name' => '13511265626',    ),    60230 =>     array (      'id' => '60230',      'pid' => '60179',      'name' => '15088323701',      'children' =>       array (        60234 =>         array (          'id' => '60234',          'pid' => '60230',          'name' => '13967187282',        ),      ),    ),    60383 =>     array (      'id' => '60383',      'pid' => '60179',      'name' => '13819296086',      'children' =>       array (        60384 =>         array (          'id' => '60384',          'pid' => '60383',          'name' => '18305721297',        ),      ),    ),  ),);function foo(&$ar) {  if(! is_array($ar)) return;  foreach($ar as $k=>&$v) {    if(is_array($v)) foo($v);    if($k == 'children') $v = array_values($v);  }}foo($a);print_r($a);
ログイン後にコピー
Array(    [id] => 60179    [pid] => 60071    [name] => 13666520868    [children] => Array        (            [0] => Array                (                    [id] => 60225                    [pid] => 60179                    [name] => 13587283707                )            [1] => Array                (                    [id] => 60226                    [pid] => 60179                    [name] => 13511265626                )            [2] => Array                (                    [id] => 60230                    [pid] => 60179                    [name] => 15088323701                    [children] => Array                        (                            [0] => Array                                (                                    [id] => 60234                                    [pid] => 60230                                    [name] => 13967187282                                )                        )                )            [3] => Array                (                    [id] => 60383                    [pid] => 60179                    [name] => 13819296086                    [children] => Array                        (                            [0] => Array                                (                                    [id] => 60384                                    [pid] => 60383                                    [name] => 18305721297                                )                        )                )        ))
ログイン後にコピー

神様、ありがとう、素晴らしいですね

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート