2013-05-05 4 views
-1

Я нашел проблему с помощью следующих строк PHP кода:Одд результат в PHP

$stripped = 'some string';  
$stripped = substr($stripped, 0, strrpos($stripped, ' ')); 

Намерение состояло в том, чтобы содрать последнюю фишку текста. Когда я отслеживал выполнение кода, я обнаружил, что он не работает. Чтобы заставить его работать, мне пришлось изменить код на следующее:

$stripped = 'some string'; 
$truncate_length = strrpos($stripped, ' '); 
$stripped = substr($stripped, 0, $truncate_length); 

Почему первая версия этого кода не работает? Я никогда не чувствовал, что это необходимо прежде, чем избежать функциональной композиции, как показано выше, по мере необходимости.

+1

'Я обнаружил, что это не было working'. Он фиксирует последнее _word_ строк. Что вы ожидаете от этого? – Ejaz

+0

Ваша первая часть кода, похоже, работает нормально. Пожалуйста, уточните, как это работает не так, как ожидалось. Кроме того, не забудьте включить отчет об ошибках во время разработки, чтобы убедиться, что вы заметили какие-либо ошибки, а var_dump() очень полезен для отладки. – Thorbear

ответ

1

Это действительно работает. Может, опечатка?

Кроме того, помните, что если нет ' ' (пробела) нашел с strrpos, вы получите false в качестве возвращаемого значения и убьете $ раздел

Смежные вопросы