我有以下PHP代码,该代码返回一个数组$words
,其中包含SimplifyingFractionsQuestions
MySql数据库中列中的所有单词:
<?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 1
或Question 2
or将类添加到div中Question 3
编辑#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] 删除。
我来说两句