php - Как я избавляюсь от этого странного “пустого разделителя” сообщение

У меня есть некоторый код, который использует функцию stristr для извлечения данных, в которых я нуждаюсь.

Это дает мне это Предупреждение для каждого повторения цикла:

Warning: stristr() [function.stristr]: Empty delimiter in ... line 55

Код работает кроме этого Предупреждения. Вот код:

$data = stristr("$text", "$key");
$result = string_limit_words($data,2);
print "$result<BR>";

Как я избавляюсь от предупреждающего сообщения?

7
задан Eric Leschinski 7 October 2013 в 14:32
поделиться

3 ответа

$data = $text;
if($key)
   $data = stristr($data, $key);
$result = string_limit_words($data,2);
print "$result<BR>";

В основном stristr выполняется только в том случае, если ключ $ (игла) не является пустой строкой

6
ответ дан 7 December 2019 в 05:18
поделиться
  1. Вы не показали нам цикл. Я предполагаю, что код, который вы разместили, находится в теле цикла
  2. Зачем использовать "$variable"? Кавычки здесь не нужны.
  3. Вы можете подавить предупреждения, написав @functionName();
  4. Проверьте, пуста ли игла перед применением
  5. HTML (< BR>) должен быть строчным
1
ответ дан 7 December 2019 в 05:18
поделиться

Цитата пользователя php.net stristr: dpatton.at.confluence.org

В PHP 4.2.3 произошло изменение, которое может вызывать предупреждающее сообщение. быть сгенерированным при использовании stristr (), даже если сообщение не было генерируется в более старых версиях PHP.

Следующее будет генерировать предупреждающее сообщение в 4.0.6 и 4.2.3:

stristr("haystack", "");

ИЛИ

$needle = "";  
stristr("haystack", $needle);

Это будет не сгенерировать предупреждающее сообщение «Пустой разделитель» в 4.0.6, но будет в 4.2.3:

unset($needle); 
stristr("haystack", $needle);

Вот URL , который документирует то, что было изменено

1
ответ дан 7 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: