php - 如何摆脱这个奇怪的“空分隔符”消息

时间:2010-06-10 18:47:44

标签: php

我有一些代码使用stristr函数来提取我需要的数据。

它为循环的每次迭代提供了这个警告:

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

代码与此警告不同。这是代码:

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

如何摆脱警告讯息?

3 个答案:

答案 0 :(得分:6)

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

如果$ key(针)不是空字符串

,基本上只执行stristr

答案 1 :(得分:1)

  1. 你没有向我们展示循环。我假设您发布的代码位于循环体中
  2. 为什么要使用“$ variable”?这里不需要引号。
  3. 您可以通过编写@functionName();
  4. 来禁止警告
  5. 在应用之前检查针是否为空
  6. HTML(&lt; BR&gt;)应为小写

答案 2 :(得分:1)

引自php.net stristr用户:dpatton.at.confluence.org

PHP 4.2.3中有一个更改可能会导致警告消息 使用stristr()时生成,即使没有消息 在旧版本的PHP中生成。

以下将在4.0.6和4.2.3中生成警告消息:

stristr("haystack", "");

OR

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

这将生成“空分隔符”警告消息 4.0.6,但在4.2.3中:

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

Here's a URL记录了已更改的内容