0

我需要一些帮助。

我有一个数组($array) - 数组( [0] => 1374410400 [1] => 1374394500 [2] => 1374384000 [3] => 1374304800 [4] => 1374291900)。

并且将在数组中使用的操作由用户定义。操作可以是array_sum、count 和end。

我想“合并”这两个(数组+操作),就像这个 $operation.'('.$array.')'。

当我回显这个 $operation.'('.$array.')'. 只出现计数(数组)。

但是当我写“count($res)”时,结果出现了。

有人知道答案吗?

4

4 回答 4

0

看起来您需要“变量”查看文档

于 2013-10-14T23:19:17.090 回答
0
echo $operation.'('.$array.')';

将回显由字符串 $operation + string ( + string $array + string ) 形成的字符串。

如果要执行名称存储在 $operation 中的操作,最简单的语法是:

echo $operation($array);

注意:您几乎肯定想要对用户的输入进行一些验证,否则如果他们使用未定义的函数等,您将收到致命错误。

于 2013-10-14T23:21:40.633 回答
0

是的,它只会打印字符串,使用该函数来获得所需的结果。function FunctionName($operation, $array){ if($operation =='count'){ return count($array); } }

于 2013-10-14T23:31:34.440 回答
0

请参阅. _call_user_func()

$results = call_user_func($operation, $array);

确保您不允许$operation用户直接设置变量的值。否则,恶意用户可能会在您的服务器上执行不需要的代码。使用用户输入来确定要运行的操作。

于 2013-10-15T08:28:12.367 回答