爆炸功能和数组元素读取

时间:2011-09-23 09:03:42

标签: php

  

可能重复:
  php explode and array index

我是PHP的新手,想问一下是否有办法 写一个像

这样的PHP代码
$lengthofstay = ($duration <= 0 ? 'optional' : explode("_", $duration )[0]);

我的意思是调用explode函数,同时读取结果数组的第一个元素。

2 个答案:

答案 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)