phpの質問です。 配列の中の数字(number)から指定の範囲内(if)に適合した数字が属する文字(name)を検索して、マッチの有無を○×で返したいのですが上手くいきません。 文字の重複はありません。 適合した最後の列しか返さないようです。 それをJavaScript内に入れたいのですが、 echoではなくreturnで返さないとエラーになります。 よろしくお願いします。 function star($name){ $items = [ ['number' => 5, 'name' => 'H'], ['number' => 8, 'name' => 'N'], ['number' => 3, 'name' => 'F'], ['number' => 6, 'name' => 'O'], ['number' => 7, 'name' => 'T'], ['number' => 9, 'name' => 'D'], ]; foreach ($items as $item){ if(6 < $item['number'] && $item['number'] < 10){ if(preg_match($name,$item['name'])==1){ $a= '○'; }else{ $a= '×'; } } } return $a; } echo star('/T/');//適合してるのに×になってしまう。star('/D/')は○。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー <script> <?php echo json_encode(star('/T/'));?> </script>
PHP