gpt4 book ai didi

php - 如何将 var_export 格式化为 php5.4 数组语法

转载 作者:IT王子 更新时间:2023-10-28 23:46:50 26 4
gpt4 key购买 nike

关于 var 输出的有效 php 语法主题有很多问题和答案,我正在寻找一种快速而干净的方法来获取 var_export 的输出以使用有效的 php5。 4 数组语法。

给定

$arr = [
'key' => 'value',
'mushroom' => [
'badger' => 1
]
];


var_export($arr);

输出

array (
'key' => 'value',
'mushroom' =>
array (
'badger' => 1,
),
)

是否有任何快速简便的方法可以使用方括号语法使其按定义输出数组?

[
'key' => 'value',
'mushroom' => [
'badger' => 1
]
]

使用正则表达式解析是普遍共识吗?如果是这样,有没有人遇到过一个像样的正则表达式?我将使用的数组的值级内容将全部是 scalararray,没有对象或类。

最佳答案

我身边有类似的东西。

function var_export54($var, $indent="") {
switch (gettype($var)) {
case "string":
return '"' . addcslashes($var, "\\\$\"\r\n\t\v\f") . '"';
case "array":
$indexed = array_keys($var) === range(0, count($var) - 1);
$r = [];
foreach ($var as $key => $value) {
$r[] = "$indent "
. ($indexed ? "" : var_export54($key) . " => ")
. var_export54($value, "$indent ");
}
return "[\n" . implode(",\n", $r) . "\n" . $indent . "]";
case "boolean":
return $var ? "TRUE" : "FALSE";
default:
return var_export($var, TRUE);
}
}

它不是很漂亮,但对于你的情况来说可能已经足够了。

除指定类型外的任何类型都由常规 var_export 处理.因此,对于单引号字符串,只需注释掉 string 的大小写即可。

关于php - 如何将 var_export 格式化为 php5.4 数组语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24316347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com