Противоположная функция PHP strstr для возврата первой части строки, а не последней

у меня есть строка, что-то вроде этого:

$abcdef(+.00)

Я пытаюсь получить первую часть строки до первой скобки:

$abcdef

в настоящее время, если я использую strstr() он возвращает часть строки после указанного символа:

$newstr = strstr($var, '(');

Я хочу до наступления. Какова обратная или противоположная функция strstr() что делать?

3 ответов


передача true в качестве третьего параметра.

С ручная страница, которую вы связали:

string strstr (string $haystack , mixed $needle [, bool $before_needle = false ])

before_needle: если TRUE, strstr () возвращает часть стога сена перед первым появлением иглы (за исключением иглы).

Примечание: этот параметр был добавлен только в PHP 5.3. Если по какой-то причине вы остались со старой версией, комбинация substr() и strpos() должен помочь:

$newstr = substr( $var, 0, strpos( $var, '(' ) );

установите третий параметр strstr в true он вернет возникновение перед иглой


лучший способ сделать это простым способом:

$newstr = explode ('(',$var)[0];

объяснение: $result = explode ('search_for_this', $search_in_this)[0];