我想知道为什么这不能为$separator分配一个字符串:
$separator = $options['title-separator'] || ' | ';
在其他地方,$option已分配给某些文本或空字符串. (实际上,在我的现实生活中,它是一些文字或错误,但无论如何……). $separator是TRUE而不是字符串.
以下内容实现了我想要的,但似乎不必要地冗长:
$separator = ( $s = $options['title-separator'] ) ? $s : ' | ';
我来自JavaScript,这两个例子都有相同的结果,这对我来说是合乎逻辑的.为了理解这一点,我需要了解哪些PHP?现在,我只是被每个地方使用的数百个额外字符所困扰. :) 谢谢!
在PHP 5.3 coalesce函数中看到这个?::
所以你可以写:
$separator = $options['title-separator'] ?: ' | ';
编辑:正如KingCrunch所说,你会得到这个通知:
Notice: Undefined index: ...
,但仅限于您已配置系统.
在我们的PHP代码库中,我们定义了一个自定义函数coalesce(…),它返回isset()返回true的第一个选项.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。