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

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

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

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

Q&A

解決済

2回答

3204閲覧

phpの多次元配列で配列の一部の取得方法が分からない

tixure55

総合スコア400

PHP

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

0グッド

0クリップ

投稿2016/01/17 06:59

編集2016/01/17 07:01

php

1<?php 2 3$arr = array( 4 '0' => array( 5 '0' => array( 6 'group_id' => array( 7 'a_id' => '7', 8 'c_id' => '0' 9 ), 10 'sub_group_id' => array( 11 'a_id' => '4', 12 'c_id' => '2' 13 ), 14 '1' => array( 15 'group_id' => array( 16 'a_id' => '1', 17 'c_id' => '4' 18 ), 19 'sub_group_id' => array( 20 'a_id' => '5', 21 'c_id' => '3' 22 ), 23 '2' => array( 24 'group_id' => array( 25 'a_id' => '9', 26 'c_id' => '4' 27 ), 28 'sub_group_id' => array( 29 'a_id' => '5', 30 'c_id' => '0' 31 ), 32 ), 33 ), 34 ), 35 ), 36 '1' => array( 37 '0' => array( 38 'group_id' => array( 39 'a_id' => '5', 40 'c_id' => '1' 41 ), 42 'sub_group_id' => array( 43 'a_id' =>'4', 44 'c_id' => '3' 45 ), 46 '1' => array( 47 'group_id' => array( 48 'a_id' => '9', 49 'c_id' => '4' 50 ), 51 'sub_group_id' => array( 52 'a_id' => '5', 53 'c_id' => '1' 54 ), 55 '2' => array( 56 'group_id' => array( 57 'a_id' => '1', 58 'c_id' => '2' 59 ), 60 'sub_group_id' => array( 61 'a_id' => '5', 62 'c_id' => '3' 63 ), 64 ), 65 ), 66 ), 67 ), 68); 69 70foreach($arr as $val){ 71 foreach($val as $value){ 72 foreach($value as $value2){ 73 echo $value2['a_id']; 74 } 75 } 76} 77

上記コードですべてのa_idをechoするにはどのように書けばよいでしょうか。上記のコードだと00と10の配列のa_idしか取得できないのですが。

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

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

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

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

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

guest

回答2

0

ベストアンサー

php

1 2$arr = array( 3 '0' => array( 4 '0' => array( 5 'group_id' => array( 6 'a_id' => '7', 7 'c_id' => '0' 8 ), 9 'sub_group_id' => array( 10 'a_id' => '4', 11 'c_id' => '2' 12 ), 13 '1' => array( 14 'group_id' => array( 15 'a_id' => '1', 16 'c_id' => '4' 17 ), 18 'sub_group_id' => array( 19 'a_id' => '5', 20 'c_id' => '3' 21 ), 22 '2' => array( 23 'group_id' => array( 24 'a_id' => '9', 25 'c_id' => '4' 26 ), 27 'sub_group_id' => array( 28 'a_id' => '5', 29 'c_id' => '0' 30 ), 31 ), 32 ), 33 ), 34 ), 35 '1' => array( 36 '0' => array( 37 'group_id' => array( 38 'a_id' => '5', 39 'c_id' => '1' 40 ), 41 'sub_group_id' => array( 42 'a_id' => '4', 43 'c_id' => '3' 44 ), 45 '1' => array( 46 'group_id' => array( 47 'a_id' => '9', 48 'c_id' => '4' 49 ), 50 'sub_group_id' => array( 51 'a_id' => '5', 52 'c_id' => '1' 53 ), 54 '2' => array( 55 'group_id' => array( 56 'a_id' => '1', 57 'c_id' => '2' 58 ), 59 'sub_group_id' => array( 60 'a_id' => '5', 61 'c_id' => '3' 62 ), 63 ), 64 ), 65 ), 66 ), 67); 68 69function search_key_value(array $arr, $keyname) 70{ 71 foreach ($arr as $key => $val) { 72 if (is_array($val)) { 73 search_key_value($val, $keyname); 74 } else if ($key === $keyname) { 75 echo $val; 76 } 77 } 78} 79 80search_key_value($arr, 'a_id');

投稿2016/01/17 07:16

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/01/17 07:23

と、いうような感じで再起します。 ニパッ
退会済みユーザー

退会済みユーザー

2016/01/17 07:24

再起 → 再帰
退会済みユーザー

退会済みユーザー

2016/01/17 07:30

ありがとうございます。
退会済みユーザー

退会済みユーザー

2016/01/17 07:36

あー、これって誤植の方でも意味全く一緒だな…
tixure55

2016/01/17 09:40

いつも回答ありがとうございます、再帰って発想はなかったです。無事取得できました。
guest

0

酔っ払ってる人間にはつらいコード…

どうも、配列構造が均一でないようですね。
この配列構造の形は崩せませんか?

こういう配列構造でもとにかくa_idを出力したいとなると、この場合は再起しなければならないでしょうね。
少々難易度の高いコードになります。

投稿2016/01/17 07:13

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問