PHP中尝试将文件内容引入数组失败,求解决方案
解决PHP文件内容引入数组的问题
问题原因
你当前的写法无法工作,核心原因有两个:
usernames.php中的内容只是逗号分隔的字符串,不是合法的独立PHP代码,直接include会触发语法错误。- 即便文件内容能执行,
array(include 'usernames.php')只会把include的返回值(成功时返回1)放入数组,而非你需要的字符串列表。
解决方案
方案1:修改usernames.php(推荐)
把usernames.php的内容改为直接返回数组:
return ["mohammed", "ahmed", "hafian", "gimmy", "osama"];
主文件中直接赋值:
$usernames = include 'usernames.php';
这种方式是PHP中引入外部数组的标准写法,include会执行文件并返回数组,直接赋值给变量即可。
方案2:不修改usernames.php的情况下处理
如果无法改动usernames.php,可以读取文件内容后手动解析:
// 读取文件内容 $content = file_get_contents('usernames.php'); // 分割字符串并清理多余的引号和空格 $usernames = array_map(function($item) { return trim($item, '" '); }, explode(',', $content));
这段代码先读取文件内容,用逗号分割成字符串数组,再通过trim去掉每个元素的引号和前后空白,最终得到目标数组。
内容的提问来源于stack exchange,提问作者Mohammed Gameel
相关产品推荐
相关产品推荐

