字符串是一个字符数组,对吗?如果是,那么为什么count()
不会在字符串上产生与strlen()
相同的结果?
答案 0 :(得分:21)
除非它是一个对象,否则count
将其参数转换为数组,并且
count((array) "example")
= count(array("example"))
= 1
答案 1 :(得分:15)
字符串是C,C ++和Java中的字符数组。在PHP中,它不是。
请记住,PHP是一种非常松散的语言,您可以通过[]
- 选择器从PHP字符串中获取字符,但它仍然不能使它成为一个数组。
答案 2 :(得分:3)
count()
计算Array
中的条目数。
$test = array(1,2,3);
echo count($test);
输出:3
当count()
能够做到时,您为什么要在string
上使用strlen()
?您不确定输入是string
还是array
?然后使用is_array()
检查。
答案 3 :(得分:1)
特定编程语言在内部如何处理字符串,并不一定意味着您可以平等地处理它,因此“相关”数据类型。您所描述的内容可能是简单的C.但PHP不是C,因此不遵循相同的特征。
答案 4 :(得分:1)
字符串只是一系列字符,count
只计算数组中元素的数量。
使用$ string [$ index];它只是帮助你找到第N个角色的快捷方式,
您可以使用count(explode('',$string));
,这可能是strlen
所做的
今天的教训是
count ==数组长度
strlen ==字符串长度
答案 5 :(得分:0)
count获取数组中元素的数量,srtlen获取字符串的长度。这是在文档中:
答案 6 :(得分:0)
count更适合用户 strlen它只计算str中的char的数量.....