在一行代码中使用PHP的explode函数获取特定索引值

4

我想要做什么

<?php 
$str = "I want to access 2nd or 3rd index in one line";
echo explode(" ",$str)[2];
?>

我们可以轻松地使用以下方法访问第一个索引:
stristr($str," ",true);  //For php version >= 5.3

或者

$foo = array_shift(explode(':', $foo));

或者
list($str) = explode(" ", $str);

但是

如何在一行中访问特定的索引[1],[2]或[3]?


2
只有在 PHP >= 5.4 的版本中,你才能使用 echo explode(" ",$str)[2]; 这个语句,我记得是这样的。 - Kees Sonnema
是的,你是正确的,我刚在5.4版本中测试过了。如果有其他适用于其他版本的好解决方案,将不胜感激 :) - Wasim A.
3个回答

3

5.4+

<?php echo explode(" ","I want to access 2nd or 3rd index in one line")[2]; ?>

他希望在5.3中使其正常工作 :) 请查看OP帖子下面的评论。 - Kees Sonnema
这些评论是在回答之后发布的。 - Hanky Panky

0

第二个

strtok($string, " "); echo strtok(" ");

或第三个

strtok($string, " "); strtok(" "); echo strtok(" ");

-1

尝试像这样获取特定索引值

<?php 
  $str = "Iam want to access 2nd or 3rd index in one line";
  $val = explode(" ",$str);
  echo $val[3];
?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接