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

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

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

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

Q&A

解決済

2回答

1163閲覧

PHPの配列の操作について

tacchan

総合スコア60

PHP

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

0グッド

0クリップ

投稿2016/02/03 02:04

PHPの配列操作についての質問です。次のような配列があったとき、idが2のキーを取り出したいとするとどうにすればいいのでしょうか?
(この場合、idが2の時に取り出したいのは、0です。idが3の時に取り出したいのは、1です。)

PHP

1$ijn = [['mysampledata' => ['id' => 2, 'name' => 'apple']], ['mysampledata' => ['id' => 3, 'name' => 'banana']]];

また、上の配列を下のように変換するにはどのようにすればいいのでしょうか?

PHP

1$ijn = [['id' => 2, 'name' => 'apple'], ['id' => 3, 'name' => 'banana']];

少し複雑になって頭が混乱してきました。
よろしくお願いします。

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

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

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

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

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

guest

回答2

0

自己解決

PHP

1$ijn2 = []; 2for($i = 0;$i < count($ijn); $i++){ 3 array_push($ijn2, $ijn[$i]['mysampledata']); 4}; 5$ijn3 = array_column($ijn2, 'id'); 6$plo = array_search(2, $ijn3); 7var_dump($ijn[$plo]);

で解決しました。簡単でした。どうもすみません。

投稿2016/02/03 02:35

tacchan

総合スコア60

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

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

Toyoshima

2016/02/03 02:46

array_column と array_search を併用して、見事に関数型にしてますね!
guest

0

変換しておいたほうが使いやすいので、質問後半の変換法について先に触れます。

このような配列変換は、じつは1行で可能です。

php

1$ijn_simplified = array_map('reset', $ijn);

reset関数は(本来の用法ではないですが、結果として)配列や連想配列の先頭要素を返します。それをarray_mapで各要素に適用することで、値として入っていた連想配列の数値配列ができ上がります。

配列の中から、特定の条件に当てはまる値を探すという場合には、素直にforeachで書くのがいいかもしれません。

php

1$found = false; 2foreach($ijn_simplified as $key => $val){ 3 if($val['id'] === 2){ 4 $found = true; 5 break; 6 } 7}

投稿2016/02/03 02:39

maisumakun

総合スコア145184

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

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

tacchan

2016/02/03 07:37

1行で表わせてとてもシンプルでいいですね。早速使わせていただきます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問