回答編集履歴

1 chousei

yambejp

yambejp score 49192

2019/06/12 16:06  投稿

こんな感じですかね
```PHP
<?PHP
$s = filter_input(INPUT_GET,'s');
$kodawari = filter_input(INPUT_GET,'kodawari',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
$list["kodawari"]=["洋画","日本画","水彩画","抽象画","彫刻・立体物"];
$kodawari=is_array($kodawari)?array_filter($kodawari,function($x){return $x!=="";}):[];
$checked["kodawari"]=[];
array_walk($list["kodawari"],function($x) use($kodawari,&$checked){
$checked["kodawari"][$x]=in_array($x,$kodawari)!==false?" checked":"";
});
if($kodawari){
$metaquerysp=array_map(function($x){
return [
'key'=>'kodawari',
'value'=> $x,
];
},$kodawari);
$metaquerysp['relation'] = 'AND';
print_r($metaquerysp);
print "<hr>";
}
if($s) print "検索キーワード:".htmlspecialchars($s)."<br>\n";
?>
<form method="get">
<input type="text" name="s" placeholder="キーワード" value="<?=htmlspecialchars($s);?>"><br>
<label><input type="checkbox" name="kodawari[]" value="洋画"<?=$checked["kodawari"]["洋画"];?>>洋画</label><br>
<label><input type="checkbox" name="kodawari[]" value="日本画"<?=$checked["kodawari"]["日本画"];?>>日本画</label><br>
<label><input type="checkbox" name="kodawari[]" value="水彩画"<?=$checked["kodawari"]["水彩画"];?>>水彩画</label><br>
<label><input type="checkbox" name="kodawari[]" value="抽象画"<?=$checked["kodawari"]["抽象画"];?>>抽象画</label><br>
<label><input type="checkbox" name="kodawari[]" value="彫刻・立体物"<?=$checked["kodawari"]["彫刻・立体物"];?>>彫刻・立体物</label>
<input type="submit" value="send"><br>
</form>
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る