Penjelasan terperinci tentang penggunaan fungsi count() PHP

WBOY
Lepaskan: 2023-06-27 10:58:02
asal
2926 orang telah melayarinya

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas Kesederhanaan, kemudahan pembelajaran dan fungsi yang berkuasa telah menjadi bahasa pilihan untuk banyak laman web dan aplikasi. Antaranya, fungsi count() juga merupakan fungsi yang mesti difahami dan dikuasai oleh pembangun PHP dengan cekap. Fungsi

count() digunakan untuk mengembalikan panjang tatasusunan atau objek. Artikel ini akan memperkenalkan anda kepada pelbagai kegunaan fungsi count() secara terperinci, dan juga akan menerangkan beberapa masalah dan ralat biasa untuk membantu anda memahami dan menggunakan fungsi ini dengan lebih baik.

Syntax

count($array_or_object, $mode)

Parameter:

  • $array_or_object: diperlukan. Tatasusunan atau objek yang panjangnya hendak dikira.
  • $mod: pilihan. Parameter yang mewakili mod pengiraan dalam bentuk pemalar, seperti:
  • COUNT_NORMAL: Secara lalai, fungsi count() tidak mengira elemen secara rekursif dalam tatasusunan dan objek berbilang dimensi.
  • COUNT_RECURSIVE: Kira unsur secara rekursif dalam tatasusunan dan objek berbilang dimensi, termasuk tatasusunan dan objek bersarang.

Nilai pulangan:

  • Jika parameter ialah tatasusunan atau objek Boleh Dikira, bilangan elemen dikembalikan.
  • Mengembalikan 0 jika hujah adalah NULL atau bukan tatasusunan/objek.

Contoh penggunaan

Berikut ialah beberapa contoh cara menggunakan fungsi count():

Hitung panjang array

$array = array('foo', 'bar', 'baz');
$count = count($ array);
echo $count; // Output: 3

Hitung panjang objek

kelas Orang {

public $name = 'John';
public $age = 30;
protected $gender = 'male';
private $password = '123456';
Salin selepas log masuk

}

$orang = new Person();
$count = count( (array) $person);
echo $count; // Output: 2

Nota: Apabila mengira panjang objek, objek mesti ditukar menjadi array terlebih dahulu.

Kira panjang tatasusunan berbilang dimensi

$multi_array = tatasusunan(

array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
Salin selepas log masuk

);

$count = count($multi_array);
echo $count; // Output: 3

=

$multi_array, COUNT_RECURSIVE );
echo $count; // Output: 9

array pelbagai dimensi objek bersarang

$multi_array = array(

(object) array('value' => 1),
(object) array('value' => 2),
(object) array('value' => 3)
Salin selepas log masuk

);

$count = count($
array); // Output :3

$count = count($multi_array, COUNT_RECURSIVE);
echo $count; // Output: 3

Nota: Apabila objek bersarang dalam tatasusunan berbilang dimensi, fungsi count() hanya akan mengira tatasusunan satu dimensi Panjang tidak dikira secara rekursif untuk objek bersarang.

Soalan dan Ralat Lazim

Apabila menggunakan fungsi count(), terdapat beberapa soalan dan ralat biasa yang perlu anda perhatikan.

  1. Fungsi count() tidak boleh digunakan untuk menilai pembolehubah

kerana fungsi count() hanya menerima tatasusunan atau objek sebagai parameter, dan mengembalikan 0 jika ia bukan tatasusunan/objek. Oleh itu, anda tidak boleh menggunakan fungsi count() dalam pernyataan if untuk menentukan sama ada pembolehubah kosong.

// Contoh penggunaan yang salah
if(count($variable)) {

// ...
Salin selepas log masuk
Salin selepas log masuk

}

// Contoh penggunaan yang betul
if(!empty($variable)) {

// ...
Salin selepas log masuk
Salin selepas log masuk

}

    (
  1. ) function boleh menyebabkan ralat semasa mengira tatasusunan berbilang dimensi

Apabila mengira panjang tatasusunan berbilang dimensi, kaedah pengiraan fungsi count() mungkin menyebabkan beberapa ralat. Sebagai contoh, apabila kekunci tatasusunan berbilang dimensi bukan integer atau rentetan, ia termasuk dalam panjang keseluruhan. Selain itu, apabila menggunakan mod COUNT_RECURSIVE untuk mengira panjang tatasusunan berbilang dimensi, berhati-hati agar tidak mempunyai rujukan bulat dalam tatasusunan, jika tidak gelung tak terhingga akan berlaku.

  1. Fungsi count() akan menukar objek kepada tatasusunan

Apabila mengira panjang objek, fungsi count() akan menukar objek kepada tatasusunan dan kemudian mengira panjangnya. Oleh itu, jika terdapat pembolehubah ahli persendirian atau dilindungi dalam objek, pembolehubah ini juga dikira.

  1. Hasil pengiraan fungsi count() mungkin dipengaruhi oleh kaedah ajaib

Jika kaedah ajaib seperti __get() atau __call() dilaksanakan dalam tatasusunan atau objek, maka hasil pengiraan kiraan( ) fungsi mungkin terjejas Terjejas oleh kaedah ini, mengakibatkan keputusan pengiraan tidak tepat.

Kesimpulan

Fungsi count() adalah salah satu fungsi yang mesti dikuasai oleh pembangun PHP. Ia boleh mengira panjang tatasusunan atau objek dengan cepat, menyokong tatasusunan berbilang dimensi dan pengiraan rekursif, dan menyediakan parameter tetap untuk mengawal tingkah laku mengira. Pada masa yang sama, anda juga perlu memberi perhatian kepada beberapa masalah dan ralat biasa apabila menggunakan fungsi count() untuk mengelakkan ralat dan kesilapan yang tidak perlu.

Atas ialah kandungan terperinci Penjelasan terperinci tentang penggunaan fungsi count() PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan