您当前的位置:首页 > 互联网教程

php中count()函数的作用

发布时间:2025-05-22 07:35:53    发布人:远客网络

php中count()函数的作用

一、php中count()函数的作用

1、首先查一下PHP手册,可以使问题更明确

2、返回 var中的单元数目,通常是一个 array(任何其它类型都只有一个单元)。

3、如果 var不是数组类型,将返回 1(例外:count(NULL)的结果是 0)

4、在平常,我用count()函数,一般都是来计算数组的个数。

5、$arr= array('a','3','4');

6、赋给变量$arr为一个数组,给了3个数组元素,然后用echo显示count()函数计算$arr的个数,显示为3

二、php获取数组长度的方法(有实例)

1、在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。

2、php如何获取数组的长度,使用php函数count(),或是sizeof()

3、Array('0','1','2','3','4');

4、array('A','B','C');

5、sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;

6、两函数功能一样,手册上讲,sizeof()是函数count()的别名。

7、那么多维数组长度要怎么统计呢?继续看例子

8、比如你读取的数组是一个二维数组:

9、如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;

10、后来在php手册中发现,count函数还有第二个参数,解释如下:

11、0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);

12、1(或COUNT_RECURSIVE)为检测多维数组,

13、所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:

14、你可以使用这样的代码来测试该函数:

15、'不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)

16、'统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)

三、php几种排序算法实例详解

1)插入排序(InsertionSort)的基本思想是:

每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。

2)选择排序(SelectionSort)的基本思想是:

每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。

两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。

4)快速排序实质上和冒泡排序一样,都是属于交换排序的一种应用。所以基本思想和上面的冒泡排序是一样的。

private$sort='insert';

private$marker='_sort';

'arr'=>array(22,3,41,18),//需要排序的数组值

'sort'=>'insert',//可能值:insert,select,bubble,quick

'debug'=>TRUE//可能值:TRUE,FALSE

publicfunctionconstruct($config=array()){

privatefunction_init($config=array()){

if(!is_array($config)ORcount($config)==0){

$this->_log("sort_init_param_invaild");

foreach($configas$key=>$val){

$method=$this->sort.$this->marker;

if(!method_exists($this,$method)){

$this->_log("sort_method_invaild");

if(FALSE===($this->arr=$this->$method($this->arr)))

privatefunctioninsert_sort($arr){

if(!is_array($arr)ORcount($arr)==0){

$this->_log("sort_array(insert)_invaild");

privatefunctionselect_sort($arr){

if(!is_array($arr)ORcount($arr)==0){

$this->_log("sort_array(select)_invaild");

for($i=0;$i<$count-1;$i++){

for($j=$i+1;$j<$count;$j++){

if($arr[$min]>$arr[$j])$min=$j;

privatefunctionbubble_sort($arr){

if(!is_array($arr)ORcount($arr)==0){

$this->_log("sort_array(bubble)_invaild");

for($j=$count-1;$j>$i;$j--){

privatefunctionquick_sort($arr){

if(count($arr)<=1)return$arr;

for($i=1;$i<count($arr);$i++){

$left_arr=$this->quick_sort($left_arr);

$right_arr=$this->quick_sort($right_arr);

returnarray_merge($left_arr,array($key),$right_arr);

$msg='date['.date('Y-m-dH:i:s').']'.$msg.'\n';

return@file_put_contents('sort_err.log',$msg,FILE_APPEND);

require_once('sort.php');

'arr'=>array(23,22,41,18,20,12,200303,2200,1192),

'sort'=>'select',

//可能值:insert,select,bubble,quick

//var_dump($config['arr']);

var_dump($sort->display());