Возвращает ассоциативный массив, содержащий список аргументов функции в php
В php func_get_args - возвращает массив, содержащий список аргументов функции
возвращает массив числовых индексов
Есть ли какая-либо функция / путь в php, с помощью которого мы получаем ассоциативный массив, то есть ключ => пара значений
я объясняю с примером:
test.php
<?php
function foo() {
include './fga.inc';
}
$x=20;
$y=30;
foo($x, $y);
?>
fga.inc
<?php
$args = func_get_args();
echo "<pre>";
print_r($args);
echo "</pre>";
?>
который должен вернуть
array (
'x'=> 20,
'y' => 30,
)
1 ответ
Вы не можете сделать это в вашем foo()
функция, потому что PHP не передает имена переменных вашей функции, только их значения. Кроме того, PHP не поддерживает именованные аргументы в функциях, и не похоже, что это будет сделано в ближайшее время.
Обходной путь должен был бы передать ассоциативный массив в качестве единственного аргумента вашей функции. Ты можешь использовать compact()
для сопоставления переменных в вызывающей области, которые вы хотите передать, например:
function foo($args) {
echo "<pre>";
print_r($args);
echo "</pre>";
}
$x = 20;
$y = 30;
foo(compact('x', 'y'));
Выход:
Array
(
[x] => 20
[y] => 30
)