phpについて質問します。2次元配列にデータを付け加えるにはどうしたらよいのでしょうか。
例
$tbl=[['名前','年齢','住所'],['太郎',16,'秋田'],['次郎',18,'熊本'],
['三郎',20,'岩手']];
この配列に、住所の横に個別でまた電話番号も追加したいです。
$tbl[]=電話番号
にしたら例題の['三郎',20,'岩手']の後ろにしか追加できません。どのようにしたらいいのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
こういうことでしょうか?
PHP
1$tbl=[['名前','年齢','住所'],['太郎',16,'秋田'],['次郎',18,'熊本'],['三郎',20,'岩手']]; 2 3$tel=["電話番号","03***","052***","06***"]; 4foreach($tel as $key=>$val){ 5 $tbl[$key][]=$val; 6} 7print_r($tbl);
投稿2021/05/26 01:32
総合スコア116724
0
自己解決
できました。ありがとうございました。
投稿2021/05/26 01:26
総合スコア30
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/26 01:34 編集
退会済みユーザー
2021/05/26 01:31 編集
0
こういうことだな?
php
1<?php 2function add_elem($arr) { 3 switch ($arr[0]) { 4 case '名前': 5 $arr[] = '電話番号'; 6 break; 7 case '太郎': 8 $arr[] = '090-****-****'; 9 break; 10 case '次郎': 11 $arr[] = '080-****-****'; 12 break; 13 case '三郎': 14 $arr[] = '070-****-****'; 15 break; 16 } 17 return $arr; 18} 19 20$tbl = [ 21 ['名前','年齢','住所'],['太郎',16,'秋田'],['次郎',18,'熊本'],['三郎',20,'岩手'] 22]; 23$tbl = array_map('add_elem', $tbl); 24 25var_export($tbl);
以下は、以前の、質問の意図を間違った回答。
$tbl
は配列の配列であって、二次元配列などというものではありません。
なので、配列の要素追加として加えるのが配列であればいいです。
php
1<?php 2$tbl=[ 3 ['名前','年齢','住所'],['太郎',16,'秋田'],['次郎',18,'熊本'],['三郎',20,'岩手'] 4]; 5$tbl[] = ['チコちゃん', 5, '渋谷区']; 6var_export($tbl);
二次元配列ではない、という話の余談。
こういうデータ構造もできるよって話。
php
1<?php 2$data = [ 3 ['foo', 'bar', 'baz'], 4 ['hoge'], 5 [1, 2, 3, 4, 5] 6]; 7var_export($data);
投稿2021/05/26 01:25
編集2021/05/26 01:48退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/26 01:27
退会済みユーザー
2021/05/26 01:33
退会済みユーザー
2021/05/26 01:35
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。