PHP-在if语句中声明变量并在同一语句中使用

PHP-在if语句中声明变量并在同一语句中使用,php,if-statement,declaration,php-7,Php,If Statement,Declaration,Php 7,我想在if语句中声明一个变量,并在同一语句中使用它。难道这根本不可能吗 问题示例(但不是实际用例…): 错误消息: 注意未定义的变量:在第6行进行测试 因为您需要将作业分组为(): 一个简单的用例可能是: if ( ($parts = parse_url($url)) && $parts['port'] == 8080) { // do stuff } 运算符优先级:如果(($test =数组(“test”=5))& & $ test [ [测试]==5){回音'tes

我想在
if
语句中声明一个变量,并在同一语句中使用它。难道这根本不可能吗

问题示例(但不是实际用例…):

错误消息:

注意未定义的变量:在第6行进行测试

因为您需要将作业分组为
()

一个简单的用例可能是:

if ( ($parts = parse_url($url)) && $parts['port'] == 8080) {
    // do stuff
}

运算符优先级:<代码>如果(($test =数组(“test”=5))& & $ test [ [测试]==5){回音'test ];}否则{回音“NOPE”;}practise@MarkBaker谢谢为什么你不认为这是一个很好的编码实践?为什么你真的需要这么做?我只是好奇它的实际可用性,我想不出它有什么用处。在if表达式中指定变量会导致混乱和错误。其他人(甚至是稍后的您)无法确定这是一个赋值还是一个无效的比较。通过这种方式,我可以检查一条记录是否已成功检索,以及是否与以前检索到的记录兼容,所有这些都在一条语句中。否则我将不得不嵌套if语句。彼此必须做完全相同的事情(
404未找到
if ( ($test = array('test'=>5)) && $test['test'] === 5) {
    echo 'test';
} else {
    echo 'nope';
}
if ( ($parts = parse_url($url)) && $parts['port'] == 8080) {
    // do stuff
}