🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

718閲覧

PHP:多次元配列の場合の値の格納方法

taka_h

総合スコア5

PHP

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2019/11/21 05:13

編集2019/11/21 05:14

前提・実現したいこと

PHPの配列処理でデータの作成方法が分からなくなったため、質問させてください
以下のように配列を作りたいと考えております

配列$data['result']['from']にデータを格納したい。
例えば、
resultの値が"A"、fromの値が"2019-10"に"AA”という値を格納させる。
resultの値が"B"、fromの値が"2019-11"に"BB”という値を格納させる。
のようにしたい。

※上記を実施したい理由として、foreach文でキーを2つ指定してデータを取得したいと考えているためです
foreach($data['result']['from'] as $key => $val){
print $key.":".$val;
}

試したこと

以下のように考えてみましたが、resultに"A"や"B"を指定できず、
また、"AA"の格納も実現できないため手詰まりとなってしまいました。

$data = array(
"result" => array(
"from"=> array("2019-10","2019-11")
)

実行環境

PHP7.3.11

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

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

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

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

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

m.ts10806

2019/11/21 05:25

AとかBとかでてきますが、値の話しかされていません。キーはどれにしたいのでしょうか。 簡単に手書きでも階層図を書かれた方が良いと思います
guest

回答2

0

resultの値が"A"、fromの値が"2019-10"に"AA”という値を格納させる。

resultの値が"B"、fromの値が"2019-11"に"BB”という値を格納させる。

以下のように考えてみましたが、resultに"A"や"B"を指定できず、

また、"AA"の格納も実現できないため手詰まりとなってしまいました。

命題が論理的に破綻しているので、「解なし」と回答するのが正しいのでしょうが、、、

php

1$date = []; 2$date[] = [ 3 'result' => 'A', 4 'from' => '2019-10', 5 'value' => 'AA' 6]; 7$date[] = [ 8 'result' => 'B', 9 'from' => '2019-11', 10 'value' => 'BB' 11];

こんなふうに持てばいいんじゃない?

投稿2019/11/21 05:27

編集2019/11/21 05:30
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

resultの値が"A"、fromの値が"2019-10"に"AA”という値を格納させる。
resultの値が"B"、fromの値が"2019-11"に"BB”という値を格納させる。

うーん、値とキーを混同しているように見えるので、混乱しているんじゃないかと思います。

例えばこんな感じの定義とforeachにすると

PHP

1<?php 2 3$data["result"]["A"] = ["from" => "2019-10" , "value" => "AA"]; 4$data["result"]["B"] = ["from" => "2019-11" , "value" => "BB"]; 5 6foreach($data["result"] as $key => $val){ 7 echo $key; 8 echo $val["from"]; 9 echo $val["value"]; 10 echo PHP_EOL; 11}

こんな感じで表示されます。

A2019-10AA B2019-11BB

もしくは

PHP

1<?php 2 3$data[] = ["result" => "A", "from" => "2019-10" , "value" => "AA"]; 4$data[] = ["result" => "B", "from" => "2019-11" , "value" => "BB"]; 5 6foreach($data as $key => $val){ 7 echo $val["result"]; 8 echo $val["from"]; 9 echo $val["value"]; 10 echo PHP_EOL; 11}

でも出力結果は同じです。

投稿2019/11/21 05:41

tanat

総合スコア18727

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

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

taka_h

2019/11/21 05:54

ご回答ありがとうございます 仰る通り、値とキーを混同してしまっていました 具体例で納得することができました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問