相关疑难解决方法(0)

PHP中的?:运算符('Elvis运算符')

我今天在一些PHP代码中看到了这个:

$items = $items ?: $this->_handle->result('next', $this->_result, $this);
Run Code Online (Sandbox Code Playgroud)

我不熟悉?:这里使用的运算符.它看起来像一个三元运算符,但是省略了判断谓词是否为真的表达式.这是什么意思?

php coding-style language-construct conditional-operator

240
推荐指数
5
解决办法
11万
查看次数

145
推荐指数
7
解决办法
12万
查看次数

如何在PHP中使用三元运算符(?:)作为"if/else"的简写?

根据此页面中的示例,我在下面提供了工作和非工作代码示例.

工作代码使用if声明:

if (!empty($address['street2'])) echo $address['street2'].'<br />';
Run Code Online (Sandbox Code Playgroud)

使用三元运算符的非工作代码:

$test = (empty($address['street2'])) ? 'Yes <br />' : 'No <br />';

// Also tested this
(empty($address['street2'])) ? 'Yes <br />' : 'No <br />';
Run Code Online (Sandbox Code Playgroud)

更新
在Brian的小费之后,我发现回声$test输出了预期的结果.以下作品就像一个魅力!

echo (empty($storeData['street2'])) ? 'Yes <br />' : 'No <br />';
Run Code Online (Sandbox Code Playgroud)

php ternary-operator conditional-operator

104
推荐指数
7
解决办法
24万
查看次数

如果阻塞里面的echo语句?

我怀疑它是不允许的,因为我得到"解析错误:语法错误,意外的T_IF in ..."错误.但我无法找到实现目标的方法.这是我的代码:

<?php 

  $countries = $myaddress->get_countries();

  foreach($countries as $value){
    echo '<option value="'.$value.'"'.if($value=='United States') echo 'selected="selected"';.'>'.$value.'</option>';
  }
  ?>
Run Code Online (Sandbox Code Playgroud)

它的作用是在选择元素中显示国家/地区列表,并将美国设置为默认值.我伤心地工作......

php

53
推荐指数
4
解决办法
9万
查看次数

为什么从PHP 5.4开始永久启用"echo"短标签?

甚至用于告诉我们PHP"短标签"(<? /*...*/ ?>)的官方文档都是"糟糕的".然而,由于PHP 5.4,该echo品种<?= /*...*/ ?>被永久不管启用short_open_tag设置.

改变了什么?

即使之前因为short_open_tag在共享托管平台上是否启用了不可预测的特性而不鼓励他们,当然这个论点不会因为某些子主机将运行PHP 5.4而消失?

可以说,对语言的这种改变本身并不意味着我们应该避免使用"短标签"的建议的变化,但如果他们遇到了麻烦,那么看起来PHP开发人员似乎不再"讨厌"他们许多.对?

我现在可以得出的唯一合乎逻辑的结论是,在PHP 5.4中引入这一变化必须有一些客观的理由.

它是什么?

php coding-style php-shorttags

36
推荐指数
2
解决办法
2万
查看次数

if/else用于定义变量的简写

我很难理解这里描述的if/else的php缩写是如何工作的.

<?=(expression) ? $foo : $bar?>
Run Code Online (Sandbox Code Playgroud)

我试图缩短的表达如下:

if (isset($result[1][0])) {
    $var = $result[1][0];
} else {
    $var = "";
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释我如何在我的情况下应用速记if/else语句吗?

谢谢 !

php

2
推荐指数
1
解决办法
1799
查看次数