为什么我的数组不将每个单词都用双引号引起来?

史努比

我有以下PHP代码,该代码返回一个数组$words,其中包含SimplifyingFractionsQuestionsMySql数据库中中的所有单词

<?php
   $data5 = $db->query("SELECT GROUP_CONCAT(DISTINCT SimplifyingFractionsQuestions ORDER BY rand()) as SimplifyingFractionsQuestions FROM (SELECT SimplifyingFractionsQuestions FROM answers WHERE user_id=$id AND SimplifyingFractionsQuestions LIKE 's%') AS SimplifyingFractionsQuestions ")->fetch_assoc();
$selector= $data5['SimplifyingFractionsQuestions'];
$words = explode(" ", $selector);
?> 

此外,我还有以下Jquery,它ClassHide向该数组中找到的每个类添加了具有唯一CSS属性的新类

<script type='text/javascript'>
$(document).ready(function () {

var arr = <?php echo json_encode($words); ?>;

jQuery.each( arr, function( i, val ) {
  $( "." + val ).addClass("ClassHide");

});

});
</script>

源显示,但是,这返回:

var arr = ["Question 1, Question 2, Question 3"]

因此它只会将该类添加ClassHide到具有class的div中Question 1, Question 2, Question 3

我需要它回来

var arr = ["Question 1", "Question 2", "Question 3"]

因此它将ClassHide使用classQuestion 1Question 2or将类添加到div中Question 3

FK互联网

编辑#2

在查看数据之前,我认为这是问题所在,但似乎json_encode() 可以解决问题-但我的评论仍然存在,JavaScript行仍应以分号终止。


json_encode()不会那样做。你想做类似的事情

var arr = [<?php    // leading '[' starts the array definition
    $sep='';
    foreach ($words as $word)
    {
        echo $sep.'"'.$word.'"';
        $sep=',';
    } ?>];  // trailing ']' ends the array, don't forget the semicolon!

编辑#1

这条线

$words = explode(" ", $selector);

将尝试将内容$selector拆分为数组元素,以空格(" ")字符分隔字符串由于其中$selector没有空格,因此$words将与完全相同$selector,您需要explode(',', $selector)

注意:您应该将单引号字符串用于静态字符串值,而不是双引号字符串,以便PHP解释程序不必解析静态字符串的内容。(更快,更少的处理开销,更好的...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

每个单词都用双引号引起来

正则表达式,将每个CSV字段都用双引号引起来

ruby:将数组的每个元素都用附加引号引起来

ShellCheck正在检查我的表达式实际上是否用双引号引起来;为什么?

正则表达式-将所有整数都用双引号引起来

Python:为什么PostgreSQL表中的列名用双引号引起来?

为什么Microsoft.FSharp.Quotations.Patterns中的模式用双引号引起来?

为什么波浪号(〜)不能用双引号引起来?

为什么波浪号(〜)不能用双引号引起来?

为什么即使将URL用双引号引起来,wget仍然会失败?

Python:用空格分隔的字符串的每个词都用引号引起来

不要用双引号引起来

exec用双引号引起来

用双引号引起来

使用util.format,在数组中的每个字符串周围用双引号引起来

CsvHelper将所有值都用引号引起来

Zsh:为什么\ n用单引号引起来?

为什么optionsText用单引号引起来?昏死

为什么git将我的日志输出用引号引起来?

当表名用双引号引起来时,只能在Oracle SQL中找到表。为什么?

红宝石的正则表达式在单词之前用双引号引起来

在python中加入字符串列表,并将每个字符串都用引号引起来

在python中加入字符串列表,并将每个字符串都用引号引起来

PHP-多维数组不能用双引号引起来

如果仅非空字段用双引号引起来,我如何读取CSV文件?

用双引号引起来时忽略逗号

在Hibernate中将列名称用双引号引起来

硒-查找仅用双引号引起来的文本

为什么在bash中用引号引起来的变量扩展中的引号能很好地工作?