php中count()函数的作用
发布时间:2025-05-22 07:35:53 发布人:远客网络
一、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());