php拾遗
php中的三目运算
// 可省略第一个,写了这么长时间的php,还真不知道,以前只知道C#的双问号,还特地搜过php是否有类似的操作符的
// laravel uri.php 56行
trim($uri, '/') ?: '/';
array_diff
两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。
不直接使用 array_filter
,是因为它默认根据元素的bool值来的
<?php
if(0) {
var_dump((string)true); // "1"
var_dump((string)false); // ""
}
// laravel uri.php 102行
array_diff($segments, array(''));</code></pre><h3>php对象链</h3><pre class="prettyprint"><code class="language-php">// php5.3会出错, 5.4正常:(new A())->a();
// laravel helpers.php 499行
function with($object) {
return $object;
}
with(new A()) -> a();