在空字符串上爆炸会将数组计数返回为1

时间:2012-02-27 18:35:11

标签: php

空字符串上的

explode将数组计数返回为1.

   $consName =explode("|",$docDet['doc_cons_filename']); 
   count($consName);

如果$docDet['doc_cons_filename']中有一些值ab|cd|de,那么count($consName)会返回3.

但如果$docDet['doc_cons_filename']的值为空,则返回1。

如果我们执行count(explode("|",$docDet['doc_cons_filename']))

$docDet['doc_cons_filename'] = "",则可以将计数返回为0

任何人都可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:6)

解决方案是明确计算字符串中找到分隔符的次数。见substr_count()

答案 1 :(得分:-3)

$arr = array();
$str = "yes you are!";
if($i = substr_count($str,"|"))
  $arr = explode("|", $str, $i+1);
echo count($arr);