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

回答編集履歴

2

調整

2019/09/06 02:45

投稿

yambejp
yambejp

スコア117906

answer CHANGED
@@ -19,11 +19,7 @@
19
19
  $idx= array_keys(array_filter($profile,function($x) use($name,$key){
20
20
  return $x["name"]==$name;
21
21
  }));
22
- if(count($idx)>0){
23
- return $profile[$idx[0]][$key];
22
+ return count($idx)>0?$profile[$idx[0]][$key]:null;
24
- }else{
25
- return null;
26
- }
27
23
  };
28
24
  ?>
29
25
  <h2>田中さんのプロフィール</h2>

1

sample

2019/09/06 02:45

投稿

yambejp
yambejp

スコア117906

answer CHANGED
@@ -3,4 +3,46 @@
3
3
  まずはデータの持ち方をきちんと理解されたほうが良いいでしょう。
4
4
 
5
5
  そもそもh2にスタティックに入っているデータがあるなら
6
- もうforeach処理では対応しがたいでしょう
6
+ もうforeach処理では対応しがたいでしょう
7
+
8
+ # sample
9
+
10
+ ```PHP
11
+ <?PHP
12
+ $profile=[
13
+ ["name"=>'田中',"age"=>28,"text"=>'こんにちは',],
14
+ ["name"=>'佐藤',"age"=>31,"text"=>'よろしくお願いします',],
15
+ ["name"=>'鈴木',"age"=>24,"text"=>'おはよう',],
16
+ ];
17
+
18
+ $getProf=function($name,$key) use($profile){
19
+ $idx= array_keys(array_filter($profile,function($x) use($name,$key){
20
+ return $x["name"]==$name;
21
+ }));
22
+ if(count($idx)>0){
23
+ return $profile[$idx[0]][$key];
24
+ }else{
25
+ return null;
26
+ }
27
+ };
28
+ ?>
29
+ <h2>田中さんのプロフィール</h2>
30
+ <h3><?=$getProf("田中","name");?></h3>
31
+ <p><?=$getProf("田中","age");?>歳</p>
32
+ <p><?=$getProf("田中","text");?></p>
33
+
34
+ <h2>佐藤さんのプロフィール</h2>
35
+ <h3><?=$getProf("佐藤","name");?></h3>
36
+ <p><?=$getProf("佐藤","age");?>歳</p>
37
+ <p><?=$getProf("佐藤","text");?></p>
38
+
39
+ <h2>鈴木さんのプロフィール</h2>
40
+ <h3><?=$getProf("鈴木","name");?></h3>
41
+ <p><?=$getProf("鈴木","age");?>歳</p>
42
+ <p><?=$getProf("鈴木","text");?></p>
43
+
44
+ <h2>高橋さんのプロフィール</h2>
45
+ <h3><?=$getProf("高橋","name");?></h3>
46
+ <p><?=$getProf("高橋","age");?>歳</p>
47
+ <p><?=$getProf("高橋","text");?></p>
48
+ ```