效率低下的php/javascript代码?
我有如下代码,如下所示。效率低下的php/javascript代码?,javascript,php,Javascript,Php,我有如下代码,如下所示。 代码正在运行,但底部的部分对我来说效率很低,所以我想知道是否有人知道如何重写代码,这样就不需要创建 baseUrl + '<?php echo $urls[0]; ?>', baseUrl+'', 每排 ($URL只包含这样的文本:更多内容(因此没有http:etc)) var baseUrl='/'; var myswip=$('#pageBody')。响应滑动({ 版本:[ baseUrl, baseUrl+“”, baseUrl+“”, base
代码正在运行,但底部的部分对我来说效率很低,所以我想知道是否有人知道如何重写代码,这样就不需要创建
baseUrl + '<?php echo $urls[0]; ?>',
baseUrl+'',
每排
($URL只包含这样的文本:更多内容(因此没有http:etc))
var baseUrl='/';
var myswip=$('#pageBody')。响应滑动({
版本:[
baseUrl,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”
],
估计是:0,,
emulator:window.location.hash.match(/emulator/)
});
$(文档).ready(函数(){
$(文档).on('click','next',函数(e){
e、 预防默认值();
mysweep.gotoNext();
});
$(文档).on('click','.prev',函数(e){
e、 预防默认值();
mysweep.gotoPrev();
});
})
您可以在php中执行以下操作:
$java_urls = '';
foreach ($urls as $url)
{
$java_urls .= "'/".$url."',";
}
// remove last , from the string
if ($java_urls!='') { $java_urls = substr($java_urls, 0, -1); }
现在在javascript中:
var mySwipe = $('#pageBody').responsiveSwipe({
edition: [
baseUrl,
<?php echo $java_urls;?>
],
widthGuess: 0,
emulator: window.location.hash.match(/emulator/)
});
var myswip=$('#pageBody')。响应滑动({
版本:[
baseUrl,
],
估计是:0,,
emulator:window.location.hash.match(/emulator/)
});
在生成阵列(包括baseUrl)服务器端后,可以使用json\u encode
:
<?php
...
$baseUrl = '/';
$urls = array($baseUrl);
while ($rw = mysql_fetch_array($sql)) {
$urls[] = $baseUrl.$rw['url'];
}
?>
<script>
var mySwipe = $('#pageBody').responsiveSwipe({
edition: <?php echo json_encode($urls); ?>,
widthGuess: 0,
emulator: window.location.hash.match(/emulator/)
});
...
</script>
var myswip=$('#pageBody')。响应滑动({
版本:,
估计是:0,,
emulator:window.location.hash.match(/emulator/)
});
...
这是:
var mySwipe = $('#pageBody').responsiveSwipe({
edition: [
baseUrl,
baseUrl + '<?php echo $urls[0]; ?>',
baseUrl + '<?php echo $urls[1]; ?>',
baseUrl + '<?php echo $urls[2]; ?>',
baseUrl + '<?php echo $urls[3]; ?>',
baseUrl + '<?php echo $urls[4]; ?>',
baseUrl + '<?php echo $urls[5]; ?>',
baseUrl + '<?php echo $urls[6]; ?>',
baseUrl + '<?php echo $urls[7]; ?>',
baseUrl + '<?php echo $urls[8]; ?>',
baseUrl + '<?php echo $urls[9]; ?>',
baseUrl + '<?php echo $urls[10]; ?>'
],
var myswip=$('#pageBody')。响应滑动({
版本:[
baseUrl,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”,
baseUrl+“”
],
也可能是
var mySwipe = $('#pageBody').responsiveSwipe({
edition: [
<?php
foreach($urls as $url) {
echo '/'.$url.',';
}
?>
]
})
var myswip=$('#pageBody')。响应滑动({
版本:[
]
})
这类问题有一个单独的站点,在上。这可能应该被移动。使用PDO而不是mysql\u*它有什么不有效的地方?如果你的数组应该有baseurl,那么它应该有它。你想要像分解一样的东西吗?那么,你想把它重写为for
循环吗?@Sekai:它有什么不有效的地方这段代码是不安全的(PHP到JS的值最好是json_encode
-ed)。通过编写var someArr=
job done,可以轻松获取数组并将其传递到JS。您可能希望将$url
括在引号中。
var mySwipe = $('#pageBody').responsiveSwipe({
edition: [
<?php
foreach($urls as $url) {
echo '/'.$url.',';
}
?>
]
})