mirror of
https://github.com/php/php-src.git
synced 2026-10-29 02:07:35 +08:00
RFC: https://wiki.php.net/rfc/partial_function_application_v2 Co-authored-by: Joe Watkins <krakjoe@php.net>
46 lines
1.0 KiB
PHP
46 lines
1.0 KiB
PHP
--TEST--
|
|
PFA errors: Some internal function parameters have UNKNOWN default value
|
|
--FILE--
|
|
<?php
|
|
|
|
$f = array_keys(?, 42);
|
|
var_dump($f([41, 42, 43]));
|
|
|
|
$f = array_keys(?, '42', true);
|
|
var_dump($f([41, 42, 43]));
|
|
|
|
$f = array_keys(?, '42', strict: ?);
|
|
var_dump($f([41, 42, 43], false));
|
|
var_dump($f([41, 42, 43], true));
|
|
|
|
try {
|
|
// fn (array $array) => array_keys($array, ???, true)
|
|
$f = array_keys(?, strict: true);
|
|
} catch (Error $e) {
|
|
echo $e::class, ": ", $e->getMessage(), "\n";
|
|
}
|
|
|
|
try {
|
|
// fn (array $array, mixed $filter_value = ???) => array_keys($array, $filter_value, true)
|
|
$f = array_keys(?, strict: true, ...);
|
|
} catch (Error $e) {
|
|
echo $e::class, ": ", $e->getMessage(), "\n";
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
array(1) {
|
|
[0]=>
|
|
int(1)
|
|
}
|
|
array(0) {
|
|
}
|
|
array(1) {
|
|
[0]=>
|
|
int(1)
|
|
}
|
|
array(0) {
|
|
}
|
|
ArgumentCountError: array_keys(): Argument #2 ($filter_value) must be passed explicitly, because the default value is not known
|
|
ArgumentCountError: array_keys(): Argument #2 ($filter_value) must be passed explicitly, because the default value is not known
|