You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP引入JS文件问题:添加数组元素后新JS未被加载

问题原因

你当前的代码逻辑顺序错误:当Index.php引入header.php时,header.php里的foreach循环会立刻执行并输出file01.js和file02.js的引用;之后你再往$import_scripts数组添加file03.js,此时循环已经执行完毕,新添加的文件自然不会被加载。

解决方案

下面提供两种可行的调整方式:

方案一:调整执行顺序,先扩展数组再输出引用

修改header.php,拆分数组初始化与输出逻辑

<head>
<?php
  // 初始化默认脚本数组
  $import_scripts = array(
    'file01.js',
    'file02.js'
  );
?>

新建script_output.php负责输出脚本

<?php
  foreach ($import_scripts as $script) {
    echo '<script src="' . $script . '"></script>';
  }
?>
</head>
<body>

修改Index.php的执行顺序

<?php
  // 先引入数组初始化部分
  include('header.php');
  // 添加新脚本
  array_push($import_scripts, 'file03.js');
  // 再引入输出部分
  include('script_output.php');
?>

方案二:用函数封装脚本管理逻辑(更灵活)

修改header.php,封装添加和输出函数

<head>
<?php
  $import_scripts = array();

  // 添加脚本的工具函数
  function add_script($script_path) {
    global $import_scripts;
    $import_scripts[] = $script_path;
  }

  // 初始化默认脚本
  add_script('file01.js');
  add_script('file02.js');

  // 输出所有脚本的函数
  function output_scripts() {
    global $import_scripts;
    foreach ($import_scripts as $script) {
      echo '<script src="' . $script . '"></script>';
    }
  }
?>

修改Index.php调用函数

<?php
  include('header.php');
  // 添加新脚本
  add_script('file03.js');
  // 执行输出
  output_scripts();
?>
</head>
<body>

内容的提问来源于stack exchange,提问作者user19690494

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:30:55