downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

current> <compact
[edit] Last updated: Fri, 17 May 2013

view this page in

count

(PHP 4, PHP 5)

countBir dizideki eleman sayısını veya bir nesnedeki özellik sayısını döndürür

Açıklama

int count ( mixed $girdi [, int $kip = COUNT_NORMAL ] )

Bir dizideki eleman sayısını veya bir nesnedeki özellik sayısını döndürür.

Nesneler için, eğer SPL kuruluysa Countable tarafından gerçeklenen count() yöntemini sonucu almak için kullanabilirsiniz. Nesne arayüzü sadece bir yönteme, count() işlevinden dönen değeri döndüren count() yöntemine sahiptir.

PHP'de kullanılan dizilerin nasıl gerçeklendiği ile ilgili daha ayrıntılı bilgi edinmek için array sayfasına bakınız.

Değiştirgeler

girdi

Dizi veya nesne.

kip

İsteğe bağlı kip değiştirgesine COUNT_RECURSIVE (veya 1) atanırsa, count() işlevi diziyi ardışık olarak sayar. Böylece çok boyutlu bir dizinin bütün elemanları sayılabilir. count() sonsuz iç içeliği algılayacak yetenekte değildir.

Dönen Değerler

Bir dizi dışında her şey tek elemanlı bir dizi kabul edilebileceğinden işlev daima girdi'deki eleman sayısını döndürür.

Eğer girdi array veya object türünde değilse Countable arayüzü, 1 döndürür. Tek istisnası girdi'nin NULL olması durumu olup böyle bir durumda 0 döner.

Dikkat

count() işlevi atanmamış bir değişken için 0 döndürebilir, fakat değişken boş bir dizi ile ilklendirilmişse de 0 döndürecektir. Değişkenin tanımlı olup olmadığını isset() ile sınayabilirsiniz.

Sürüm Bilgisi

Sürüm: Açıklama
4.2.0 İsteğe bağlı kip değiştirgesi eklendi.

Örnekler

Örnek 1 - count() örneği

<?php
$a
[0] = 1;
$a[1] = 3;
$a[2] = 5;
$sonuç count($a);
// $sonuç == 3

$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
$sonuç count($b);
// $sonuç == 3

$sonuç count(null);
// $sonuç == 0

$sonuç count(false);
// $sonuç == 1
?>

Örnek 2 - Ardışık count() örneği

<?php
$food 
= array('fruits' => array('orange''banana''apple'),
              
'veggie' => array('carrot''collard''pea'));

// ardışık sayım
echo count($foodCOUNT_RECURSIVE); // 8

// normal sayım
echo count($food); // 2

?>

Ayrıca Bakınız

  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • isset() - Değişken tanımlı mı diye bakar
  • strlen() - Dizge uzunluğunu döndürür



current> <compact
[edit] Last updated: Fri, 17 May 2013
 
add a note add a note User Contributed Notes count - [8 notes]
up
2
meathanjay at gmail dot com
3 days ago
<?php
//PHP count function

$arr=array("hasan"=>array("Name"=>"Hasan Al Mamun","Address"=>"Uttara, Dhaka","Profession"=>"Web Developer"),
      
"meathanjay"=>array("Name"=>"Meathanjay","Address"=>"Nawabgonj, Dhaka","Profession"=>"Nothing")
    );
echo
count($arr);
//Output  2

$arr=array("hasan"=>array("Name"=>"Hasan Al Mamun","Address"=>"Uttara, Dhaka","Profession"=>"Web Developer"),
      
"meathanjay"=>array("Name"=>"Meathanjay","Address"=>"Nawabgonj, Dhaka","Profession"=>"Nothing")
    );
echo
count($arr,1);
//Output  8 when second Parameter true
up
9
danny at dannymendel dot com
5 years ago
I actually find the following function more useful when it comes to multidimension arrays when you do not want all levels of the array tree.

// $limit is set to the number of recursions
<?php
function count_recursive ($array, $limit) {
   
$count = 0;
    foreach (
$array as $id => $_array) {
        if (
is_array ($_array) && $limit > 0) {
           
$count += count_recursive ($_array, $limit - 1);
        } else {
           
$count += 1;
        }
    }
    return
$count;
}
?>
up
4
alexandr at vladykin dot pp dot ru
6 years ago
My function returns the number of elements in array for multidimensional arrays subject to depth of array. (Almost COUNT_RECURSIVE, but you can point on which depth you want to plunge).

<?php
 
function getArrCount ($arr, $depth=1) {
      if (!
is_array($arr) || !$depth) return 0;
        
    
$res=count($arr);
        
      foreach (
$arr as $in_ar)
        
$res+=getArrCount($in_ar, $depth-1);
     
      return
$res;
  }
?>
up
1
atoi_monte at hotmail dot com
5 years ago
Please note: While SPL is compiled into PHP by default starting with PHP 5, the Countable interface is not available until 5.1
up
-7
jezdec at email dot cz
4 years ago
Hi there,
there is a simple script with example for counting rows and columns of a two-dimensional array.

<?php
$data
= array(
   
"apples" =>
        array(
"red", "yellow", "pineapples"),
   
"bananas" =>
        array(
"small", "medium", "big"),
   
"vegs" =>
        array(
"potatoes", "carrots", "onions")
);

$rows = count($data,0);
$cols = (count($data,1)/count($data,0))-1;
print
"There are {$rows} rows and {$cols} columns in the table!";
?>
up
-20
freefaler at gmail dot com
8 years ago
If you want to count only elements in the second level of 2D arrays.A close to mind note, useful for multidimentional arrays:

<?php
$food
= array('fruits' => array('orange', 'banana', 'apple'),
            
'veggie' => array('carrot', 'collard','pea'));

// recursive count
echo count($food,COUNT_RECURSIVE);  // output 8

// normal count
echo count($food);                  // output 2

// all the fruits and veggies
echo (count($food,COUNT_RECURSIVE)-count($food,0)); //output 6
?>
up
-22
nicolas dot grekas+php at gmail dot com
1 year ago
As of PHP 5.2.6, count() DOES detect infinite recursion.
It triggers a warning when its argument is a recursive array.
up
-4
vivekanand dot pathak25 at gmail dot com
7 days ago
<php
 function CountArray($arr){
     $i=0;
    foreach($arr as $val){
      $i++;
    }
       return $i;
 }

$arr=array(1,2,3,4,5,6,7,8,9);
echo CountArray($arr);   // output 9
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites