将 PHP 5.3 数组转换为 PHP 4

3

你好,我在我的WordPress网站中使用了这段代码。

function theme_files() {
   $scripts = [
    // ['handle' => 'date', 'src'=>'jquery.ui.datepicker-cc.all.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'date', 'src'=>'js-persian-cal.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'paralax', 'src'=>'jquery.fullpage.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'fullslud', 'src'=>'jquery.superslides.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'carousel', 'src'=>'owl-carousel.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'mmenu', 'src'=>'jquery.mmenu.min.all.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'lightbox', 'src'=>'lightbox.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'masonry', 'src'=>'masonry.pkgd.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'template', 'src'=>'theme.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
    ['handle' => 'selectbox', 'src'=>'select2.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true]
];


for ($i=0; $i < sizeof($scripts); $i++) {

    wp_enqueue_script( $scripts[$i]['handle'], get_template_directory_uri() . '/js/' . $scripts[$i]['src'], $scripts[$i]['dep'], $scripts[$i]['ver'] );    

}
}

但是我的客户将他的网站迁移到了一个使用旧版本php的主机,我遇到了语法错误。

我需要将这个数组转换成旧版本。有人可以帮助我吗?


如果他们使用的是PHP4.x,我认为数组语法只是你面临的问题之一。我还记得在PHP5.3发布时修复了大量PHP4代码。主要是构造函数、ereg()split()等方面。啊,那些美好的日子。我会认真考虑升级PHP... - ArtisticPhoenix
请注意,短数组语法“[]”直到PHP5.4才可用,如果我没记错的话。您使用的是从PHP 5.3到PHP 4的数组。 - ArtisticPhoenix
这可能会给你带来一些严重的烦恼,或者也可能不会,我不知道。lol - ArtisticPhoenix
1个回答

1
使用以下结构:
$scripts = array(
     array('handle' => 'date', 'src'=>'js-persian-cal.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true),
     array('handle' => 'paralax', 'src'=>'jquery.fullpage.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true)
);

我曾经遇到同样的问题,将我的数组转换为旧的结构。

foreach($scripts as $script){
    wp_enqueue_script(  $script['handle'], get_template_directory_uri() . '/js/' .  $script['src'],  $script['dep'],  $script['ver'] );    
}

谢谢,但我遇到了另一个错误:未定义索引:ver在wp_enqueue_script($scripts [$i] ['handle'],get_template_directory_uri()。'/js/'。$scripts [$i] ['src'],$scripts [$i] ['dep'],$scripts [$i] ['ver']); - Nelya Sanotska
var_dump( $scripts[$i] ) ... 检查它是否设置等等... 但是如果你试图回溯到 PHP 4,你将会一直在追逐自己的尾巴。你使用的是哪个版本的 WP? - ArtisticPhoenix
我修改了我的回答,我在最新版本的php(php 7)中测试了这种方法。 - Majid Abbasi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接