可以写成三元吗?

Hem*_*ahu -1 php ternary

//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)

我想知道上面的代码是否可以在一行中写成三元

Que*_*tin 7

从技术上讲,是的:

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语句。