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

如何使用file_put_contents将PHP数组正确写入PHP文件?

问题原因

直接拼接数组变量到字符串时,PHP会自动将数组类型转为字面量Array,因此无法得到数组的结构内容。serialize()返回的是序列化后的字符串,不是PHP可执行的数组语法,自然不符合需求。

解决方案

使用PHP内置的var_export()函数,这个函数会返回变量的合法PHP代码表示,刚好满足写入可执行数组结构到PHP文件的需求。

基础实现代码

<?php
$arr = array('red');
$var = 'target_var'; // 自定义存储数组的变量名
// var_export第二个参数设为true表示返回字符串而非直接输出
$array_code = var_export($arr, true);
$content = "<?php \n\${$var} = {$array_code};\n?>";
file_put_contents('file.php', $content);
?>

生成的file.php默认内容

<?php 
$target_var = array (
  0 => 'red',
);
?>

如果需要你期望的array('red')紧凑写法,可通过字符串替换去掉换行和缩进,示例如下:

<?php
$arr = array('red');
$var = 'target_var';
$array_code = var_export($arr, true);
// 替换换行和多余空格得到紧凑格式
$compact_code = str_replace(["\n", "  "], '', $array_code);
$content = "<?php \n\${$var} = {$compact_code};\n?>";
file_put_contents('file.php', $content);
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:54:04