お世話になります。
現在jsonファイルの配列をphpでデコードしphpで配列の検索、追加、編集、削除をしjsonファイルにエンコードするといったプログラムを組んでいます。
何点か困っていることがありご教授いただければ幸いです。
1、多次元配列の中の特定のキーと要素の取得ができない
-------------------↓jsonコード---------------------
{
aaa:
{
bbb:[
{
"no":"1",
"id":"1",
"type":["name":"aaa","type":"a"];
}
]
}
}
この配列(オブジェクト)をphpに配列にしてデコードしてます
この中の[0][aaa][bbb][0]の[no]から下の部分をforeachなどでまとめて取ることはできますか?
今はひとつずつ echo $a["0"]["aaa"]["bbb"]["0"]["no"];
echo $a["0"]["aaa"]["bbb"]["0"]["id"];
のように書いています。
2,上記の配列に追加の仕方がわからない。
フォームの各項目をPOSTし$_SESSIONに格納して配列は受け取っているのですがその後どうやって追加したらいいですか?
各項目は上記の配列の[no]から下の部分になります。
長文なうえ説明不足があるとは思いますがご教授お願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答3件
0
ベストアンサー
下記でどうでしょうか?
今手元に実行環境がないので、エラー吐くかもしれませんが。
lang
1foreach ($a["0"]["aaa"]["bbb"]["0"] as $key => $val) { 2 if (is_array($val)) { 3 foreach ($val as $k => $v) { 4 echo $v; 5 } 6 } else { 7 echo $val; 8 } 9}
lang
1$a["0"]["aaa"]["bbb"]["2"] = array ( 2 "no" => $no, // フォームで渡ってきたno 3 "id" => $id, // フォームで渡ってきたid 4 "type" => $type, // フォームで渡ってきたtype (配列) 5);
投稿2014/12/25 12:07
総合スコア1681
0
追記致します1番目なのですがご指摘どおりにしてみましたが[no]の階層の要素は取れたのですがその下の
[type]から先が取れませんでしたちなみに下記のエラーが出ました
Notice: Array to string conversion
投稿2014/12/25 07:17
総合スコア75
2014/12/25 09:10
2014/12/25 10:01
0
1に関しては
lang
1foreach ($a["0"]["aaa"]["bbb"]["0"] as $hoge) { 2 echo $hoge; 3}
でなんとかなりそうです。
2に関しては
配列は受け取っているのですがその後どうやって追加したらいいですか?
何に何を追加したいのでしょうか。
よろしくお願い致します。
投稿2014/12/25 05:32
総合スコア136
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
2014/12/26 02:17
2014/12/29 07:54
2014/12/29 08:21
2015/01/05 11:09
2015/01/06 08:14
2015/01/06 08:28
2015/01/06 09:49