PHP中变量括号的内容是什么?

Har*_*ses 1 php variables parentheses

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

$im = new imagick();
$im->readImageBlob($photo);
$im->setImageFormat('jpg');
$photo = ($im);
Run Code Online (Sandbox Code Playgroud)

它没有用这段代码读取图像数据,但是当我删除括号时它就这样做了.

$photo = $im;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Dif*_*ter 5

变量周围的括号仅用于优先级,通常用于计算.使用您显示的代码,$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.
Run Code Online (Sandbox Code Playgroud)

以上是通常用于括号的内容.