解决第一个问题或下一个问题的最有效方法是什么?

Which is the most efficient way to work around the first one or the next one?

这些表达方式相同吗?哪个效率更高?

表达式 1:

$a = 'default'    
if($b != "") $a = $b;

表达式 2:

$a = $b == "" ? "default" : $b;

在这两种情况下,$a 的结果是否相同?

您可以通过 运行 交互式地在命令行中轻松测试 PHP 小片段:

$ php -a

在这里你可以写你的代码:

$a = "test";

$b = $a;
$b = $b == "" ? "default" : $b;

var_dump($b);

$c = $a == "" ? "default" : $a;

var_dump($c);

它应该是相同的 - 但我会选择表达式 2。 我会这样写:

$this->a = ($r[0] == "") ? "default" : $r[0];

一切都取决于手头的情况。两者都有效,但对于多种情况,这个更快更有效

$a = $b == "" ? "default" : $b;