「人物名」キーに「身長・体重・座高」という3つのvalueを指定したいです。
$person = array (
"斎藤さん" => "175",
"佐藤さん" => "170",
"高橋さん" => "165"
);
一般的に解説されている連想配列では、このようにひとつのvalueしか指定することができません。
できる方法はありますか? またその場合、値の取り出し方はどのように行いますか?
入れ子にできます。
連想配列の内側に、また連想配列です。
<?php $person = array( '斎藤さん' => array( '身長' => '175', '体重' => '60', '座高' => '85'), '佐藤さん' => array( '身長' => '170', '体重' => '70', '座高' => '80'), '高橋さん' => array( '身長' => '165', '体重' => '80', '座高' => '82') ); print_r($person); print($person['佐藤さん']['体重']) ?>
http://web-items.blog.so-net.ne.jp/2012-09-22
php]C言語のような構造体をつくる
これみてください。全部のってます。
1、クラス(≒構造体)をつくる。
2、そのクラスの配列を作る
がんばってください。
入れ子にできます。
連想配列の内側に、また連想配列です。
<?php $person = array( '斎藤さん' => array( '身長' => '175', '体重' => '60', '座高' => '85'), '佐藤さん' => array( '身長' => '170', '体重' => '70', '座高' => '80'), '高橋さん' => array( '身長' => '165', '体重' => '80', '座高' => '82') ); print_r($person); print($person['佐藤さん']['体重']) ?>
ご返信ありがとうございます。
連想配列の中に連想配列を入れる記述は初めてみました。助かりました!
「それを何と呼ぶのか」が分からないと、検索もままならないですよね。
今回のは「入れ子」がキーワードだったかも。
php 連想配列 入れ子 - Google 検索
こんなキーワードでも、それなりに引っかかる。
php 連想配列の中に連想配列 - Google 検索
php array の中に array - Google 検索
Google の検索結果で引っかかったページを見てみると「多次元配列」という書き方をしてる人も多いようだけど、それは違うなあ。
<?php $person=[ "斎藤さん" => ["身長" => 160,"体重" => 60,"座高" => 100], "佐藤さん" => ["身長" => 170,"体重" => 61,"座高" => 101], "高橋さん" => ["身長" => 180,"体重" => 62,"座高" => 102] ]; var_dump($person); echo $person['佐藤さん']['身長']; echo "<br>\n"; echo $person['高橋さん']['座高'];
古いPHPを使わない という心構えで書くと、このような使い方が便利です。
http://php.net/manual/ja/language.types.array.php
array (size=3) '斎藤さん' => array (size=3) '身長' => int 160 '体重' => int 60 '座高' => int 100 '佐藤さん' => array (size=3) '身長' => int 170 '体重' => int 61 '座高' => int 101 '高橋さん' => array (size=3) '身長' => int 180 '体重' => int 62 '座高' => int 102 170 102
界隈の事は、コアな方の意見を参考にしてもらう様にして頂ければと思います。
「古いPHPを使わない という心構え」は、例えば5.4.x未満でこの書き方をした場合エラーになりますが、書き方を直すより環境を更新して安全で便利な環境にした方が良いですよね。という個人の見解となります。
また、PHPは同じ動作でも様々な書き方があるので、フレームワーク等のルールに沿うかマニュアルにある書き方で良いとも思います。
#arrayはdeprecatedになる事はまず無いですが、古い環境は更新しなければなりません
>> ぽけっとしすてむ 様
ご返信ありがとうございます。
[ ] でくくるやり方もできるのですね。参考になります!
ご返信ありがとうございます。
2016/04/15 01:40:47連想配列の中に連想配列を入れる記述は初めてみました。助かりました!
「それを何と呼ぶのか」が分からないと、検索もままならないですよね。
2016/04/15 02:09:08今回のは「入れ子」がキーワードだったかも。
php 連想配列 入れ子 - Google 検索
こんなキーワードでも、それなりに引っかかる。
php 連想配列の中に連想配列 - Google 検索
php array の中に array - Google 検索
Google の検索結果で引っかかったページを見てみると「多次元配列」という書き方をしてる人も多いようだけど、それは違うなあ。