TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

39 lines
882 B

--TEST--
Symfony Process pattern: environment union with array_diff_ukey callback
--FILE--
<?php
function mergeEnv(array $env, array $defaults, bool $windows): array
{
$result = ['PATH' => '/bin'];
$result += $windows ? array_diff_ukey($env, $result, 'strcasecmp') : $env;
$result += $windows ? array_diff_ukey($defaults, $result, 'strcasecmp') : $defaults;
return $result;
}
function main(): void
{
var_dump(mergeEnv(['Path' => '/usr/bin', 'APP_ENV' => 'dev'], ['HOME' => '/tmp'], true));
var_dump(mergeEnv(['Path' => '/usr/bin', 'APP_ENV' => 'dev'], ['HOME' => '/tmp'], false));
}
?>
--EXPECT--
array(3) {
["PATH"]=>
string(4) "/bin"
["APP_ENV"]=>
string(3) "dev"
["HOME"]=>
string(4) "/tmp"
}
array(4) {
["PATH"]=>
string(4) "/bin"
["Path"]=>
string(8) "/usr/bin"
["APP_ENV"]=>
string(3) "dev"
["HOME"]=>
string(4) "/tmp"
}