質問するログイン新規登録

回答編集履歴

1

答え

2021/08/12 13:48

投稿

hentaiman
hentaiman

スコア6428

answer CHANGED
@@ -36,4 +36,35 @@
36
36
 
37
37
  - 「ここまでは出来てるだろう」と脳内補完してはいけません
38
38
  - ミスる訳ないと決めつけて基礎的な記述をしている個所のデバッグを怠るのはNGです
39
- - 把握している純粋な情報に従ってデバッグしましょう(簡単な箇所でミスる訳ないという思い込みがあるからデバッグ対象から漏れる)
39
+ - 把握している純粋な情報に従ってデバッグしましょう(簡単な箇所でミスる訳ないという思い込みがあるからデバッグ対象から漏れる)
40
+
41
+ # 追記
42
+ 正しいdecodeと、誤ったdecode
43
+ ※質問者がうまくいかない理由が分かりやすくなるように
44
+ ```php
45
+ $json = '
46
+ [{"id":1,"date":"2021-06-30T15:00:00.000Z","name":"立花","attend":false},
47
+ {"id":2,"date":"2021-07-01T15:00:00.000Z","name":"橘","attend":true},
48
+ {"id":3,"date":"2021-07-02T15:00:00.000Z","name":"柳","attend":false},
49
+ {"id":4,"date":"2021-07-03T15:00:00.000Z","name":"桔梗","attend":true},
50
+ {"id":5,"date":"2021-07-04T15:00:00.000Z","name":"楓","attend":false}]';
51
+
52
+ $decode = json_decode($json, true);
53
+ echo $decode->date;
54
+ > PHP Warning: Attempt to read property "date" on array in php shell code on line 1
55
+
56
+ echo $decode['date'];
57
+ > PHP Warning: Undefined array key "date" in php shell code on line 1
58
+
59
+ echo $decode[0]['date'];
60
+ > 2021-06-30T15:00:00.000Z
61
+ $date = $decode[0]['date'];
62
+ echo $date != "" ? 'valid' : 'invalid';
63
+ > valid
64
+
65
+ $date = $decode->date;
66
+ > PHP Warning: Attempt to read property "date" on array in php shell code on line 1
67
+
68
+ echo $date != "" ? 'valid' : 'invalid';
69
+ >invalid
70
+ ```