是否允许操作作为函数参数


Are operations permitted as function arguments?

我有一个接受一个参数的函数foo。

function foo ($argument){
  return $argument;
}

我尝试了以下内容:

$result = foo ($variable + $variable2 + 1);

(包含两个整数变量加一个整数的总和(

但结果却是不可估量的。

但是,如果我尝试:

$result = foo ($variable +  1);

(具有整数变量和整数的总和(

它有效。为什么会这样?这种使用的规则是什么(在哪里?

作为测试,我尝试过;

$variable3 = $variable + $variable2;
$result = foo ($variable3 +  1);

var3 的创建按预期工作,让我认为变量是有效的,但函数参数的使用不是。

你的函数必须工作!

这里是它适用于许多 php 版本的链接:

http://3v4l.org/mLMks

看看这些例子,变量是字符串还是文本甚至没有区别!

(数字为字符串(

<?php
    function foo ($argument){
      return $argument;
    }
    $variable = "2";
    $variable2 = 3;
    echo $result = foo ($variable + $variable2 + 1);

?>

输出

6

(数字和文本(

<?php
    function foo ($argument){
      return $argument;
    }
    $variable = 2;
    $variable2 = "test";
    echo $result = foo ($variable + $variable2 + 1);

?>

输出

3