<?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
count
(PHP 4, PHP 5)
count — Bir dizideki eleman sayısını veya bir nesnedeki özellik sayısını döndürür
Açıklama
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ı
kipdeğiştirgesineCOUNT_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.
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($food, COUNT_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
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;
}
?>
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;
}
?>
Please note: While SPL is compiled into PHP by default starting with PHP 5, the Countable interface is not available until 5.1
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!";
?>
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
?>
As of PHP 5.2.6, count() DOES detect infinite recursion.
It triggers a warning when its argument is a recursive array.
<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
?>
