【问题标题】:Implicitly get the value of the own variable隐式获取自身变量的值
【发布时间】:2014-10-01 23:15:10
【问题描述】:

有没有办法在设置变量的previous值之后获取当前? 我的意思是:

$x = 10
$x = id() + 20; // 30

function id() {
   return THE_VARIABLE_VALUE; // 10
}

或者我需要明确地说(?):

$x = 10
$x = id($x) + 20; // 30

function id($x) {
   return $x; // 10
}

我的问题是:

在 PHP 中,我可以隐式获取变量的值吗?

id 正在尝试模拟众所周知的 id 函数,它返回自己的元素:

id = (xs) -> xs
id 1 -- 1
id 'k' -- k

【问题讨论】:

  • Afaik 这在 PHP 中是不可能的。我也不知道这有什么用。如果你给函数提供参数并获得返回值,代码会更好更简洁。
  • 一个变量包含一个值。它不存储自己的历史记录。为此,我们提供了诸如数组之类的数据结构,您可以使用它们来实现此类功能。另外,我从未听说过“非常知名的 id 功能”。您是指某种 auto_increment 吗?
  • @N.B.我相信他指的是这个:stackoverflow.com/questions/3136338/… 我不能说我更聪明地阅读它!
  • @Steve - 感谢您的链接,我必须承认我在阅读后与您在同一条船上 :)
  • 在 Haskell 中,就像在 PHP 中一样,id 无法神奇地猜出你在说什么变量。它必须被传递一个值,例如x,然后它返回相同的值。你不能只打电话给id 得到 10,因为你在一分钟前想的是 10。

标签: php haskell


【解决方案1】:

据我所知,您可以直接使用函数作为其返回值的类型,因此您可以对它们进行操作和函数调用。在我的本地主机上,我有 php 5.4,我可以执行 $myarray_element = get_my_array()[0];$mynumber = get_my_array_element()+10; 之类的操作。你不能做get_my_array_element()++;$var = get_my_array_element()++;之类的事情。

【讨论】:

    【解决方案2】:

    嗯...对于简单的数学运算,您可以使用内置的“修改此变量”运算符:

    $x += 20;
    $x -= 10;
    $x *= 5;
    $x /= 3;
    

    我不确定你想在这里完成什么,所以除此之外我无话可说。也许试着解释一下你的目标是什么?

    【讨论】:

      猜你喜欢
      • 2015-08-31
      • 2011-04-08
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      相关资源
      最近更新 更多