在Python3.8 中有一个名为 walrus ( :=) 的新运算符,它可以在条件内分配新变量。我用 PHP 编写了一个简单的 TCP 套接字连接,我希望我的程序看起来更好。
PHP: Hypertext Preprocessor 中是否有类似的东西?
if ($data := socket_read ($socket, 1024)) {
echo $data;
}
Run Code Online (Sandbox Code Playgroud)
如果返回值是 socket_read()“thruthy”或“falsy”,则此方法有效。
假是'', 0, [],null或false。
真相是其他任何东西。
if ( $data = socket_read($socket, 1024) ) {
echo $data;
}
Run Code Online (Sandbox Code Playgroud)
如果您想更具体,您甚至可以执行以下操作(感谢@Benni):
if ( 'foo' === $data = socket_read($socket, 1024) ) {
echo 'data equals foo';
}
Run Code Online (Sandbox Code Playgroud)
或者
if ( is_array($data = socket_read($socket, 1024) ) {
var_dump($data);
}
Run Code Online (Sandbox Code Playgroud)
如果您不确定socket_read()返回一个string.
在这种情况下,您可以执行以下操作:
if ( is_string($data = socket_read($socket, 1024)) ) {
echo $data;
}
Run Code Online (Sandbox Code Playgroud)
有关 PHP 布尔行为的更多信息,请参阅 https://www.php.net/manual/en/language.types.boolean.php
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |