質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1607閲覧

多次元配列の出力

navca

総合スコア44

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/12/29 09:52

初心者で恐縮ですがよろしくお願いします。
多次元配列をforeach内の処理だけで簡潔に書き出したいです。

$arr = array('A'=>'あ', 'B'=>'い', 'C'=>array('D'=>'う', 'E'=>'え', 'F'=>'お')); foreach($arr as $buzz => $bar){ if($bar === array()){ foreach($bar as $foo => $fizz){ echo $foo.$fizz.'<br/>'; } }else{ echo $buzz.$bar.'<br/>'; } }

↑だと```if($bar === array())

の部分がスルーされてしまいます。 なぜでしょうか。いい書き方があればご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

別解1

php

1<?php 2 3$array = ['A' => 'あ', 'B' => 'い', 'C' => ['D' => 'う', 'E' => 'え', 'F' => 'お']]; 4 5$iter = new RecursiveIteratorIterator(new RecursiveArrayIterator($array)); 6 7foreach ($iter as $key => $value) { 8 echo "$key: $value<br>\n"; 9}

別解2

php

1<?php 2 3$array = ['A' => 'あ', 'B' => 'い', 'C' => ['D' => 'う', 'E' => 'え', 'F' => 'お']]; 4 5array_walk_recursive($array, function ($value, $key) { 6 echo "$key: $value<br>\n"; 7});

投稿2016/12/29 15:45

編集2016/12/29 15:46
mpyw

総合スコア5223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

navca

2016/12/30 14:40

mpywさんありがとうございます。 現在ぐるなびAPIポエムでお世話になっておりますm(__)m
guest

0

ベストアンサー

配列かどうかの判定はis_arrayを使うといいと思いますよ

php

1$arr = array('A'=>'あ', 'B'=>'い', 'C'=>array('D'=>'う', 'E'=>'え', 'F'=>'お')); 2 3 4foreach($arr as $buzz => $bar){ 5if(is_array($bar)){ 6 foreach($bar as $foo => $fizz){ 7 echo $foo.$fizz.'<br/>'; 8 } 9 }else{ 10 echo $buzz.$bar.'<br/>'; 11 } 12}

投稿2016/12/29 09:55

編集2016/12/29 09:56
popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

navca

2016/12/29 09:56

早速回答いただきありがとうございます!できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問