我可以在每个语句的多行中编写PHP代码吗?

时间:2011-07-14 21:06:04

标签: php newline structure

是否可以编写这样的代码,语句跨越多行?

$db_selected = 
mysql_select_db(
    'my_dbase', 
    mysql_connect(
        'localhost', 
        'mysql_user', 
        'mysql_password'
    )
);

在HTML中,新行被忽略,但在PHP中我有时会出错。我对PHP不太熟悉,但认为这应该没问题,不是吗?

5 个答案:

答案 0 :(得分:9)

不,但不是因为你的想法。空格很好,但是代码存在问题:

mysql_select_db(
    'my_dbase', 
    // don't call mysql_connect here!!!
    mysql_connect( 
        'localhost', 
        'mysql_user', 
        'mysql_password'
    )
);

MySQL连接将在出错时返回FALSE。这意味着您将无法处理mysql_error() AND ,这将导致mysql_select_db出错。

你最好的选择:

$conn = mysql_connect( 
        'localhost', 
        'mysql_user', 
        'mysql_password'
) or die( mysql_error() );

mysql_select_db(
    'my_dbase', 
    $conn // optional parameter, but useful nonetheless.
);

答案 1 :(得分:7)

我要回答我自己的问题:只是尝试了这个并且在我的LAMP服务器上,最初发布的代码片段工作正常(php 5)。

是的,您可以将包含运算符的语句分隔成多行。

和字符串连接的答案 - 是的,在这个论坛上已经有很多关于这个的答案,但是我在询问有关语句,而不是字符串,我在其他地方找不到答案。

谢谢大家!特别是Geroge Cummins。

答案 2 :(得分:2)

是的,但对于某些事情,例如文字,我会做类似......

$someText = " blah blah blah ".
"some more blah blah blah";

希望这有帮助

答案 3 :(得分:2)

是的,没关系,只要在运营商之后没有换行,例如=in==等......

答案 4 :(得分:1)

通常会忽略空格,因此您可以根据需要插入换行符。但是,您需要以分号(;)结束每个语句。