【发布时间】:2021-10-15 21:45:29
【问题描述】:
我来找你是因为要将ini文件转换为数组,我使用PHP提供的parse_ini_file函数。
从我要检索的ini文件中提取
SocEnCoursBD=001
SocEnCoursBS=001
SocEnCours$$=001
SocEnCoursLOG=001
SocEnCoursLOV=010
不幸的是,parse_ini_file 函数在SocEnCours$$=001 行上生成。
抛出错误:
syntax error, unexpected '$'
它似乎不支持$ 字符。我知道 PHP 不支持这个字符,所以我在调用 parse_ini_file 函数时使用选项 INI_SCANNER_RAW。
Enfin voici le bout de code PHP qui traite le fichier ini :
public static function parse(string $path) : array {
return file_exists($path) ? parse_ini_file($path, true, INI_SCANNER_RAW) : null;
}
添加我使用 PHP 7.4。如果有人有解决方案,我会很感兴趣^^
【问题讨论】:
-
@axiac 不,我尝试了我提出的解决方案,但错误仍然存在
-
我不确定美元符号在 INI 文件中是否有效,无论是什么语言。不过,我无法找到明确的答案。
-
使用file_get_contents,通过
str_replace('$$=', '__=',然后使用parse_ini_string,然后像$parsed['SocEnCours__']一样访问或者修复源.ini文件 -
问题的答案是“没关系,这是规则”。
-
@LawrenceCherone 这可能是一个可行的解决方案,我会尝试