//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;
}
Run Code Online (Sandbox Code Playgroud)
我想知道上面的代码是否可以在一行中写成三元
从技术上讲,是的:
is_array($data[0]) ? $datas = $data : $datas[0] = $data;
Run Code Online (Sandbox Code Playgroud)
但是不要。
三元运算符旨在表达操作:
something = condition ? value : other-value
Run Code Online (Sandbox Code Playgroud)
将它们用于:
condition ? operation : other-operation
Run Code Online (Sandbox Code Playgroud)
......充其量是令人困惑的。
如果您遇到某种if/else情况,请使用if/else语句。