php - 给定的 if 语句在 PHP 中是否正确?
问题描述
最近在 Symfony 中遇到了代码。有人可以帮我理解这个if
说法吗?我以前从未见过这样的表情。
if (1 > $split_length = (int) $split_length) {
trigger_error('The length of each segment must be greater than zero', E_USER_WARNING);
return false;
}
解决方案
为变量赋值也会返回赋值。如果你跑
echo $a = 5;
它将打印出 5,并将值 5 分配给变量 $a。
所以这部分
$split_length = (int) $split_length
将 $split_length 转换为 int 并返回分配的值。
如果返回值小于 1,则在比较中使用此返回值。如果添加一些(非必需)括号,它可能会变得更清晰:
if ( 1 > ($split_length = (int) $split_length) )
推荐阅读
- c - printf 和 gcc -O 选项改变返回值
- sql - 使用 SQL 确定分数提高的用户子集
- opengl - bool 变量在 opengl 片段着色器中的行为异常
- computer-vision - 将 kinect 深度强度转换为以米为单位的距离
- php - laravel api 包无法识别我之前的路线
- angular-library - 如何在 Angular 库中包含资产?(v 8.0)
- sql-server - 设置超链接时将 int 转换为字符串
- sql - 当 id 值至少一次不等于 0 时返回 id
- sql - 具有默认值性能的设置表
- python - 运行 Jupiter 时遇到问题。由于 EnvironmentError 无法安装软件包: