我有一个引擎,通过从文件中获取公式,操作数和运算符来执行一些数学和逻辑运算.所有操作都在eval范围内执行,最终结果保存在另一个文件中.
这些文件通常通过网络传输,因此我试图通过剥离操作前后的所有空格来最小化它们.据我所知,对此事没有严格的规定,但我偶然发现了这种行为:
$x = 1;
$result = $x++-++$x; // works
$result = $x+++++$x; // fails
$result = $x++ + ++$x; // works again
Run Code Online (Sandbox Code Playgroud)
为什么PHP被"+++++"语法混淆,但接受"++ - ++"?"加"比"减"更好吗?
是否存在对空间敏感的运营商的列表?
我有以下代码片段,我不太了解它的输出:
echo 20...7;
Run Code Online (Sandbox Code Playgroud)
为什么这个代码输出200.7?
据我所知...,splat运算符在ruby中调用,它允许你有一个带有可变数量参数的函数,但我不明白它在上下文中的作用echo.
任何人都可以解释这段代码的确切含义
仅仅一秒钟之前,我正在使用PHP,试图弄清楚是否存在本机范围函数(最终找到range)。但是,我尝试的事情之一是:
echo 1...2;
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是返回字符串"10.2"。谁能确切告诉我是什么语法引起的?对于splat操作员来说,这似乎不是一个有效的地方。