count在php的意思,php count函数

计算数组中的单元数目或对象中的属性个数。

int count (mixed $array_or_countable [, int $mode = COUNT_NORMAL ])

/*null 输出0*/

echo count(null) . '
'; //0

/*字符串 输出1*/

echo count('null') . '
'; //1

echo count('abc') . '
'; //1

/*数字 输出1*/

echo count(1) . '
'; //1

/*普通数组*/

$arr = [1, 2, 3, 4];

echo count($arr) . '
'; //4

/*不递归输出*/

$arr = [1, 2, 3, 4, [5, 6]];

echo count($arr) . '
'; //5

echo count($arr, 0) . '
'; //5

echo count($arr, COUNT_NORMAL) . '
'; //5

/*递归输出*/

echo count($arr, 1) . '
'; //7

echo count($arr, COUNT_RECURSIVE) . '
'; //7

/*普通对象 如果不转换成数组,永远输出1*/

class User

{

private $name;

private $address;

}

$user = new User();

echo count($user) . '
'; //1

print_r((array) $user); //Array ( [Username] => [Useraddress] => )

echo count((array) $user) . '
'; //2

/*array like object 输出count方法返回值*/

class User1 extends ArrayObject

{

public function count() {

return 4;

}

}

$user1 = new User1();

echo count($user1) . '
'; //4

/*Countable 输出count方法返回值*/

class User2 implements Countable

{

public function count() {

return 5;

}

}

$user2 = new User2();

echo count($user2) . '
'; //5

总结

进入switch语句检测参数类型:

如果是NULL,直接返回0

如果是数组,调用php_count_recursive函数机选数组元素个数

如果是对象,先检查是否为数组对象(array like object),如果是,则计算数组对象的数量

否则,如果对象实现了Countable接口,则调用Countable的count方法

最后,其他类型比如整型或字符串,都返回1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值