在<script>标签中使用PHP?

Gre*_*nih 6 javascript php json object

我正在尝试用PHP在javascript中创建一个对象.这是我的脚本:

    <script>
        $(document).ready(function(){
            var genres = [
    <?php
    $last = count($userGenres) - 1;
    $i = 0;
    foreach($userGenres as $a){
        $i++;
        echo '{"value":"'.$a['genre'].'", "name":"'.$a['name'].'"}';
        if($i < $last){
            echo ',';
        }
    }
    ?>
                        ];
   });
</script>
Run Code Online (Sandbox Code Playgroud)

当我检查生成的源时,它会创建一个有效的对象,但该标记中的整个脚本现在不起作用.如果没有JSON,如何解决这个问题?

谢谢

Lar*_*son 1

正如评论所说,你应该考虑使用 (php function)json_encode 代替,这将变成......

php:

$a = array(
  array("gender"=> "male", "name"=> "Bob"),
  array("gender"=> "female", "name"=> "Annie")
);

Into json:
[
   {gender:"male", name:"Bob"},
   {gender:"female", name:"Annie"}
]
Run Code Online (Sandbox Code Playgroud)

回显 json_encode($a) 会像这样输出它。