如果根本没有逗号,则在逗号/提取全部之前提取第一个字符串

时间:2018-02-02 12:17:01

标签: php

我应该如何以最短的方式修改代码,以便始终在逗号之前回显第一个字符串,但如果根本没有逗号,那么回显原始字符串?

在以下代码中,对于$string1,没有任何回应:

$string1 = "aaaaaaa";
echo '1';
echo substr($string1, 0, strpos($string1, ','));

$string2 = "aaaaaaa, bbbbb";
echo '2';
echo substr($string2, 0, strpos($string2, ','));

echo '3';
$string3 = "aaaaaaa, bbbbb, ccccc";
echo substr($string3, 0, strpos($string3, ','));

2 个答案:

答案 0 :(得分:3)

如果找不到分隔符,

explode将返回整个字符串:

  

如果分隔符包含一个未包含在字符串中的值并且使用了负限制,则将返回一个空数组,否则将返回包含字符串的数组。

所以这适用于所有情况:

echo explode(',', $str)[0];

请参阅https://eval.in/947792

答案 1 :(得分:0)

你可以简单地分解字符串并获取第一个元素。

$first_element = explode(',', $string)[0];