Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
效率低下的php/javascript代码?_Javascript_Php - Fatal编程技术网

效率低下的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.',';
   }
   ?>
   ]
})