首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何回显PHP数组中的每一项,而不仅仅是最后一项?

如何回显PHP数组中的每一项,而不仅仅是最后一项?
EN

Stack Overflow用户
提问于 2017-09-11 23:52:56
回答 5查看 43关注 0票数 0

我在PHP中有一个数组(它必须是PHP,原因有些复杂,超出了本文的范围):

代码语言:javascript
复制
<?php
$arr = array(Div1, Div2);
foreach ($arr as $value) {
print_r($value);
}
?>

然后,我将尝试使用一些Jquery来隐藏数组中有类的每个元素。

代码语言:javascript
复制
<script>
$(document).ready(function(){
$("."+"<?php echo $value; ?>").hide();
});
</script>

但是,这只隐藏了其类与数组中的最后一项相等的元素。换句话说,只有类为Div2的项才会隐藏。如何将其应用于数组中的每个项?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-09-12 00:02:35

可以使用php数组并在javascript中使用它。最简单的方法是使用json:

代码语言:javascript
复制
<?php
  $arr = array('Div1', 'Div2');
?>

<script>
  $(document).ready(function(){
    var arr = <?=json_encode($arr);?>;
    arr.forEach((className)=>$("."+className).hide());
  });
</script>

或者您可以加入数组并让jquery迭代它:

代码语言:javascript
复制
<script>
  $(document).ready(function(){
    var arr = <?=json_encode($arr);?>;
    $('.'+arr.join(', .')).hide();
  });
</script>
票数 2
EN

Stack Overflow用户

发布于 2017-09-11 23:56:52

foreach循环完成后,$value仍然绑定到$arr的最后一个值。或者以某种方式将js-输出包含到循环中,或者在js-php-循环中再次通过数组循环。

票数 1
EN

Stack Overflow用户

发布于 2017-09-11 23:58:33

用此替换JS行,只要$arr在JS代码所在的范围内(这应该是基于您的问题),它就能工作。

代码语言:javascript
复制
<?php
foreach($arr as $value) {
    echo '$("' . '.' . $value . '").hide();';
}
?>

您以前只是在数组上循环,不对值执行任何操作(除了对其使用print_r() )。因此,当您到达第二个代码段中的代码时,只有$value的最后一个值是可用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46165885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档