Doc #81620 [Asn->Csd]: parse_ini_file and parse_ini_string don't actually support value interpolation
Edit report at https://bugs.php.net/bug.php?id=81620&edit=1
ID: 81620
Updated by: git@php.net
Reported by: php dot net at keven dot fr
Summary: parse_ini_file and parse_ini_string don't actually
support value interpolation
-Status: Assigned
+Status: Closed
Type: Documentation Problem
Package: PHP options/info functions
Operating System: Linux
PHP Version: Irrelevant
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of cmb69
Revision: https://github.com/php/doc-en/commit/f8b0bb410016270b696b28d3d416672dd2f7e66b
Log: Fix #81620: parse_ini_file and parse_ini_string don't actually support value interpolation
Previous Comments:
------------------------------------------------------------------------
[2021-11-15 12:27:14] cmb@php.net
> From the documentation, parse_ini_file() and parse_ini_string()
> should support value interpolation:
They do, but only if the variable is a proper PHP configuration
option which has been explicitly defined in php.ini etc. or an
environment variable.
------------------------------------------------------------------------
[2021-11-13 14:33:15] php dot net at keven dot fr
Description:
------------
From the documentation, parse_ini_file() and parse_ini_string() should support value interpolation:
var_dump(parse_ini_string('
foo = bar
baz = ${foo}
'));
should produce:
array(2) {
["foo"]=>
string(3) "bar"
["baz"]=>
string(3) "bar"
}
but it produces this instead:
array(2) {
["foo"]=>
string(3) "bar"
["baz"]=>
string(0) ""
}
See it live: https://3v4l.org/K15ft
On the other hand, env var value interpolation seems to work:
var_dump(parse_ini_string('
path = ${PATH}
'));
result:
array(1) {
["path"]=>
string(13) "/usr/bin:/bin"
}
See it live: https://3v4l.org/cE4dL
Test script:
---------------
var_dump(parse_ini_string('
foo = bar
baz = ${foo}
'));
Expected result:
----------------
array(2) {
["foo"]=>
string(3) "bar"
["baz"]=>
string(3) "bar"
}
Actual result:
--------------
array(2) {
["foo"]=>
string(3) "bar"
["baz"]=>
string(0) ""
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=81620&edit=1
Thread (2 messages)