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

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

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

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

Q&A

解決済

2回答

4220閲覧

PHP object 配列のデータの扱いについて

kumakumatan

総合スコア213

PHP

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

0グッド

1クリップ

投稿2017/11/22 09:56

xml

1array(3) { 2 [0]=> 3 object(Record)#3 (3) { 4 ["seq"]=> 5 string(1) "1" 6 ["id"]=> 7 string(7) "test123" 8 ["code"]=> 9 string(5) "11111" 10 } 11 [1]=> 12 object(Record)#2 (3) { 13 ["seq"]=> 14 string(1) "2" 15 ["id"]=> 16 string(7) "test223" 17 ["code"]=> 18 string(5) "12111" 19 } 20 [2]=> 21 object(Record)#1 (3) { 22 ["seq"]=> 23 string(1) "3" 24 ["id"]=> 25 string(7) "test123" 26 ["code"]=> 27 string(5) "11311" 28 }

のような配列データ($listの中身)があります。
この配列($list)の「id」を取得したく思います。

$test_list[0]['id']
$test_list[1]['id']
$test_list[2]['id']
として値を取得したく下記のようにプログラム作成したのですが
値が入ってきません。

php

1foreach ($list as $k => $v) { 2 $test_list[] = array( 3 'id' => get_array_value('id', $v), 4 ); 5}

どのようにしたらいいかご教授いただきたく宜しくお願いします。

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

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

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

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

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

guest

回答2

0

PHP7以降なら array_columnオブジェクトの配列をそのまま食えます。

PHP: array_column - Manual

php

1$test_list = array_column($list, 'id');

投稿2017/11/22 17:31

mpyw

総合スコア5223

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

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

kumakumatan

2017/11/23 03:28

ありがとうございます。 PHPは5.6になります。
guest

0

ベストアンサー

PHP

1foreach ($list as $k => $v) { 2 $test_list[] = array( 3 'id' => $v->id 4 ); 5}

投稿2017/11/22 10:10

kei344

総合スコア69364

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

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

kumakumatan

2017/11/23 03:26

ありがとうございます。できました。このソースに「id=test123」のものだけ抽出したい場合、下記のように記載したのですが、うまくいきません。 foreach ($list as $k => $v) { if($k['id'] == 'test123'){ $test_list[] = array( 'id' => $v->id ); } } どのようにしたらいいでしょうか? 宜しくお願いします。
kei344

2017/11/23 03:45

$k['id']ではなく$v->id
kumakumatan

2017/11/23 03:56

出来ました!ありがとうございます。 「$v->id」とは「id」を「$v」に値を代入するという意味でしょうか?
kumakumatan

2017/11/23 04:06

なるほど!勉強になります。ご丁寧なご回答、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問