Противоположную функцию на PHP strstr, чтобы вернуться в первую часть строки, а не в прошлом


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

$abcdef(+$1.00)

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

$abcdef

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

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

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

3 6

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];