问题描述
//if more than one attribute is being added
if (is_array($data[0]))
{
$datas = $data;
}
//if only one attribute is being added
else
{
$datas[0] = $data;
}
我想知道上面的代码是否可以在一行中以三进制编写
解决方法
从技术上讲,是的:
is_array($data[0]) ? $datas = $data : $datas[0] = $data;
但是不要。
三元运算符旨在表示该运算:
something = condition ? value : other-value
将它们用于:
condition ? operation : other-operation
...充其量是令人困惑的。
如果您遇到if/else
的情况,请使用if/else
语句。
$datas = is_array($data[0])? $data : [$data];