我是PHP的新手,想问一下是否有办法 写一个像
这样的PHP代码$lengthofstay = ($duration <= 0 ? 'optional' : explode("_", $duration )[0]);
我的意思是调用explode函数,同时读取结果数组的第一个元素。
答案 0 :(得分:1)
在5.4
中是可能的但你的代码和地狱一样丑陋 在一行中编写所有代码没有什么好处。
写入三行,当你在一周内遇到它时,你不会偶然发现它,感到困惑。
if ($duration <= 0)
$lengthofstay = 'optional';
} else {
list($lengthofstay) = explode("_", $duration, 1);
}
没有错。
如果你想严格限制一行 - 创建一个功能。然后叫它
$lengthofstay = get_length_of_stay($duration);
它比你的狡猾结构短,而且更具可读性
答案 1 :(得分:0)
您可能希望使用explode中的limit-parameter:
explode("_", $duration, 1)