string(1) "a"["subpage"]=> string(4) "gaga"} 我想将此数组的内容传递给函数调-6ren">
gpt4 book ai didi

PHP 轻松将数组解构为单个变量以传递给函数

转载 作者:行者123 更新时间:2023-12-04 01:30:13 25 4
gpt4 key购买 nike

假设我有一个这样的 PHP 数组。

array(2) { ["page"]=> string(1) "a"["subpage"]=> string(4) "gaga"}

我想将此数组的内容传递给函数调用,如下所示:

function doStuff($page, $subpage) {
// Do stuff
}

如何将这个数组解构为单独的对象以传递给函数?函数的变量将始终与数组中对应键的顺序相同。

最佳答案

您可以使用 array_values从数组中取出值,然后 call_user_func_array使用值数组作为参数调用您的函数。

<?php
$input = array( 'page' => 'a', 'subpage' => 'gaga' );
$values = array_values($input);
$result = call_user_func_array('doStuff', $values);

或者,在较新版本的 PHP (>=5.6.x) 中,您可以使用带有 ... 运算符的参数解包:

<?php
$input = array( 'page' => 'a', 'subpage' => 'gaga' );
$values = array_values($input);
$result = doStuff(...$values);

关于PHP 轻松将数组解构为单个变量以传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51847964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com