Array ialah jenis data yang sangat biasa dalam pembangunan PHP. Kadangkala, kita perlu menukar tatasusunan kepada nilai berangka untuk melakukan pengiraan atau operasi perbandingan. Artikel ini akan memperkenalkan cara menukar tatasusunan kepada nilai berangka dalam PHP.
Jika elemen dalam tatasusunan adalah semua jenis angka, kita boleh mengira nilai tatasusunan secara manual. Sebagai contoh, pertimbangkan tatasusunan berikut:
$array = array(1, 2, 3, 4, 5);
Kita boleh menggunakan gelung untuk mengulangi tatasusunan ini, menambahnya bersama-sama dan mendapatkan jumlahnya:
$total = 0; foreach ($array as $value) { $total += $value; } echo $total; // 输出 15
Kaedah ini berfungsi pada elemen dalam tatasusunan Ia terpakai apabila terdapat sedikit kes, tetapi jika terdapat banyak elemen dalam tatasusunan, pengiraan akan menjadi lebih menyusahkan dan kecekapannya tidak tinggi.
PHP menyediakan banyak fungsi tatasusunan yang boleh memproses tatasusunan dengan mudah. Terdapat beberapa fungsi yang boleh menukar tatasusunan kepada nombor. Berikut adalah beberapa fungsi yang lebih berguna.
2.1 array_sum()
array_sum() fungsi boleh mengira jumlah semua elemen dalam tatasusunan, contohnya:
$array = array(1, 2, 3, 4, 5); $total = array_sum($array); echo $total; // 输出 15
2.2 count()
Fungsi count() boleh mengira bilangan elemen dalam tatasusunan. Jika semua elemen dalam tatasusunan adalah jenis angka, kita boleh menggunakan fungsi count() untuk mengira jumlahnya, contohnya:
$array = array(1, 2, 3, 4, 5); $total = array_sum($array); echo $total; // 输出 15
2.3 array_reduce()
array_reduce() fungsi boleh Digunakan untuk mengira hasil pengumpulan elemen tatasusunan. Ia memerlukan dua parameter, satu ialah tatasusunan untuk diproses, dan satu lagi ialah fungsi panggil balik untuk menyesuaikan peraturan pengiraan. Sebagai contoh, kod berikut menggunakan fungsi array_reduce() untuk mengira jumlah elemen tatasusunan:
$array = array(1, 2, 3, 4, 5); $total = array_reduce($array, function($carry, $item) { return $carry + $item; }, 0); echo $total; // 输出 15
2.4 array_product()
array_product() fungsi boleh mengira hasil darab semua elemen dalam tatasusunan, contohnya:
$array = array(2, 3, 4); $product = array_product($array); echo $product; // 输出 24
Jika elemen dalam tatasusunan bukan angka jenis, tiada kaedah yang diterangkan di atas digunakan. Tetapi kita boleh menukar tatasusunan kepada rentetan, dan kemudian menukar rentetan itu kepada nilai berangka. Sebagai contoh, kod berikut menukar tatasusunan yang mengandungi nombor dan aksara kepada nilai angka:
$array = array(1, 'a', 2, 'b', 3); $string = implode('', $array); // 把数组转化为字符串 $total = intval($string); // 把字符串转化为整数 echo $total; // 输出 12
Dalam contoh ini, kita mula-mula menggunakan fungsi implode() untuk menukar tatasusunan kepada rentetan, yang akan menukar tatasusunan menjadi rentetan Semua elemen dicantumkan. Kami kemudian menggunakan fungsi intval() untuk menukar rentetan ini kepada integer. Oleh kerana aksara diabaikan dan hanya nombor dikira, keputusan akhir ialah 12.
Ringkasan
Artikel ini memperkenalkan cara menukar tatasusunan kepada nilai berangka dalam PHP. Jika semua elemen dalam tatasusunan adalah daripada jenis angka, kita boleh menggunakan fungsi array_sum(), count() atau array_reduce() untuk mengira jumlahnya, atau gunakan fungsi array_product() untuk mengira produknya. Jika elemen dalam tatasusunan bukan daripada jenis angka, kita boleh menukar tatasusunan kepada rentetan, dan kemudian menukar rentetan itu kepada nilai angka. Memilih kaedah yang sesuai mengikut situasi sebenar dapat meningkatkan kecekapan program.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan kepada nilai berangka dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!