PHP将值循环到javascript数组中
您好,我使用jquery构建了一个手动滑块,并将图像的位置放在一个数组中,但现在我想从数据库加载图像,并将它们循环到一个javascript数组。如何做到这一点PHP将值循环到javascript数组中,javascript,php,Javascript,Php,您好,我使用jquery构建了一个手动滑块,并将图像的位置放在一个数组中,但现在我想从数据库加载图像,并将它们循环到一个javascript数组。如何做到这一点 var items=[“url(images/banner_1.jpg)”,“蓝色”、“黑色”、“绿色”]; 这里有一个简单的方法。它没有您提到的任何外部依赖项 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g
var items=[“url(images/banner_1.jpg)”,“蓝色”、“黑色”、“绿色”];
这里有一个简单的方法。它没有您提到的任何外部依赖项
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Use PHP in JavaScript</title>
</head>
<body>
<?php
// assuming your database call returns a valid array like this
$things = array("banner_1.jpg", "banner_2.jpg", "banner_3.jpg", "banner_4.jpg");
// the built-in `json_encode` will make JavaScript like it
$things_json = json_encode($things);
?>
<div class="etc">
<!--this is were the database items will go-->
<ul id="things"></ul>
</div>
<script>
// echo out json-ified PHP directly into the script tag
var things = <?php echo $things_json ?>;
// loop through the json and append list items to our target element
for(var i = 0; i < things.length; i++) {
document.querySelector('body').innerHTML += '<li>' + things[i] + '</li>';
}
</script>
</body>
</html>
一个简单得多的方法,无需在DOM中添加内容,而且由于您需要javascript数组: 您必须始终记住,PHP首先在服务器中执行,javascript随后在浏览器中执行。因此,您可以使用php创建(有效)javascript,如下所示:
<?php
echo '<script>var jsArray = [];';
while($fetch = $get->fetch_array(MYSQLI_ASSOC)){ // I took your line exactly as you wrote it
echo 'jsArray.push("'. $fetch['field'] .'");'; //you change 'field' with whatever you need
}
echo '</script>';
?>
<script>
var jsArray = [];
jsArray.push("blue");
jsArray.push("red");
jsArray.push("yellow");
</script>
php脚本(javascript将执行的代码)的输出如下:
<?php
echo '<script>var jsArray = [];';
while($fetch = $get->fetch_array(MYSQLI_ASSOC)){ // I took your line exactly as you wrote it
echo 'jsArray.push("'. $fetch['field'] .'");'; //you change 'field' with whatever you need
}
echo '</script>';
?>
<script>
var jsArray = [];
jsArray.push("blue");
jsArray.push("red");
jsArray.push("yellow");
</script>
var jsArray=[];
jsArray.push(“蓝色”);
jsArray.push(“红色”);
jsArray.push(“黄色”);
之后,您将能够访问jsArray。图像本身在数据库中?是的,我通过我的后台发布它们。您可能需要创建一个端点来单独检索图像。您可以发布一些代码,以便我能够真正理解您的意思,我的意思是,从逻辑上说,我看不出这是怎么做到的。你必须做一些研究,但这里有一个起点:这正是我所需要的,是我所想的,但需要一个有效的例子来正确地做,谢谢!;)我很乐意帮忙!如果你这么认为,就投票吧,作为最佳答案我使用了你的例子,因为它更简单,我不能投票,因为我没有足够的声誉:(这只有一个问题,例如,当通过json传递一个目录“test/test/image.jpg”时,它会像这样返回“test\/test\/image.jpg”我如何解决这个问题呢?我用preg_389;解决了这个问题,但是我如何通过json编码传递2个变量,就像传递2个json编码一样,只有第一个显示数据我在答案的底部添加了更多关于处理多个PHP变量的信息。