我需要一些帮助。
我有一个数组 ($array) - 数组 ( [0] => 1374410400 [1] => 1374394500 [2] => 1374384000 [3] => 1374304800 [4] => 1374291900 )。
将在数组中使用的操作由用户定义。操作可以是array_sum、计数和结束。
我想"合并"这两者(数组+操作),就像这个$operation一样。(".$array.")"。
当我附和这$operation时。(".$array.")"。仅显示计数(数组)。
但是当我写"count($res)"时会出现结果。
有人知道答案吗?
看起来你需要"变量" 查看文档
echo $operation.'('.$array.')';
将回显由字符串 $operation + 字符串( + 字符串 + 字符串 $array+ 字符串)组成的字符串 + 字符串 )。
如果要执行名称存储在$operation中的操作,最简单的语法为:
echo $operation($array);
注意:您几乎肯定希望对用户的输入进行一些验证,否则如果他们使用未定义的函数等,您将获得致命错误。
是的,它只会打印字符串,使用该函数获得所需的结果。 函数函数名称($operation, $array){ if($operation =='count'){ 返回计数($array); } }
请参阅call_user_func()
的文档。
$results = call_user_func($operation, $array);
确保不允许用户直接设置$operation
变量的值。否则,恶意用户可能会在您的服务器上执行不需要的代码。使用用户输入来确定要运行的操作。