作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 PHP 代码,它返回一个数组 $words
,其中包含 MySql 数据库中 SimplifyingFractionsQuestions
列中的所有单词:
<?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,它向该数组中找到的每个类添加一个具有唯一 CSS 属性的新类 ClassHide
<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
添加到类 Question 1、Question 2、Question 3
我需要它返回
var arr = ["Question 1", "Question 2", "Question 3"]
因此它将把类 ClassHide
添加到类为 Question 1
或 Question 2
或 Question 3
的 div 中>
最佳答案
编辑#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 解释器就不必解析内容的静态字符串。 (更快,更少的处理开销,更好......)
关于php - 为什么我的数组没有用双引号将每个单词括起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45250239/
我是一名优秀的程序员,十分优秀!