【问题标题】:What do parentheses around a variable do in PHP?PHP中变量周围的括号有什么作用?
【发布时间】:2019-03-29 23:46:02
【问题描述】:

我在旧平台上使用 PHP 5.3 中的 ImageMagick。我偶然发现一段代码在变量周围使用括号时不起作用,但在删除这些括号时确实起作用。变量周围的括号有什么作用?

$im = new imagick();
$im->readImageBlob($photo);
$im->setImageFormat('jpg');
$photo = ($im);

这段代码没有读取图像数据,但是当我删除括号时它会读取。

$photo = $im;

有什么想法吗?

【问题讨论】:

  • 还有别的事情,这两行完全一样

标签: php variables parentheses


【解决方案1】:

变量周围的括号仅用于优先级,通常用于计算。使用您显示的代码,$photo = $im;$photo = ($im); 之间绝对没有功能差异

例如:

$x = 2;
$y = 5;
$z = 10;
$result_1 = $x * $y + $z; //might not give you the result you expect.
$result_2 = $x * ($y + $z); //This will ensure that $y & $z get added before multiplying by $x.

以上是括号的常用用途。

【讨论】:

  • 我明白了,但是我的代码结果有差异,所以肯定有差异
  • 日志有错误吗?很有可能,问题并不真正是括号,即使它表面上看起来像这样。如果除了一个变量之外没有其他东西可以作用,PHP 会简单地忽略它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 2014-10-01
  • 2012-04-05
  • 2023-04-11
相关资源
最近更新 更多