我想发送参数到数组

时间:2016-09-22 07:24:53

标签: php arrays function

我正在尝试使用此代码:

$arr = [
  function ($a) {
    return $a + $a;
},
  function ($b) {
    return $b * $b;
},
  function ($c,$cc) {
    return $c % $cc - $c;
},
  function ($d) {
    return $d + 4 / $d;
 }
];

如何将参数传递给此函数? 我已经学习了这个没有参数的函数的语句。例如:  function(){echo' somethings&#39 ;;这意味着数组中的这个函数没有传入的参数。

$test = rand (0,1);
echo $myarr[$test]();

另外

我可以在上面的代码片段中使用其他语句更改(rand)语句吗?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

你的阵列:

$arr = [
    function ($a) {
        return $a + $a;
    },
    function ($b) {
        return $b * $b;
    },
    function ($c,$cc) {
        return $c % $cc - $c;
    },
    function ($d) {
        return $d + 4 / $d;
    }
];

你的兰特

$test = rand(0,1);

----注意----

您可以将rand()更改为任何其他语句,前提是它是$ arr数组的现有索引。为了知道$ test值是否是$ arr数组中存在的索引,你可以做

if (isset($arr[$test])) {}

----结束说明---

调用函数

$returnedValue = call_user_func($arr[$test], 10);
echo $returnedValue;