Cara menggunakan fungsi PHP untuk memproses data dengan cekap
PHP menyediakan perpustakaan fungsi yang berkuasa yang boleh memproses pelbagai jenis data dengan cekap. Memahami fungsi ini akan memudahkan kod anda dan meningkatkan prestasinya.
Fungsi pemprosesan tatasusunan
-
array_map(): Gunakan fungsi panggil balik pada setiap elemen dalam tatasusunan dan kembalikan tatasusunan yang mengandungi hasilnya.
-
array_filter(): Tapis tatasusunan dan hanya kekalkan elemen yang sepadan dengan fungsi panggil balik.
-
array_reduce(): Hantar elemen tatasusunan ke fungsi panggil balik satu demi satu dan kembalikan hasil terkumpul.
-
array_unique(): Alih keluar elemen pendua dalam tatasusunan.
-
sort()/rsort(): Isih tatasusunan (tertib ke hadapan atau terbalik).
Fungsi pemprosesan rentetan
-
strlen(): Mengembalikan panjang rentetan.
-
strtoupper()/strtolower(): Tukar rentetan kepada huruf besar/kecil.
-
meletup(): Pisah rentetan menggunakan pembatas sebagai pembatas.
-
implode(): Sambung tatasusunan menggunakan pembatas sebagai pembatas.
-
ereg_replace(): Ganti kandungan dalam rentetan dengan corak ungkapan biasa.
Fungsi pemprosesan matematik
-
abs(): Mengembalikan nilai mutlak nombor.
-
maks()/min(): Kembalikan nilai maksimum/minimum dalam tatasusunan atau berbilang nombor.
-
bulat(): Membundarkan nombor kepada ketepatan yang ditentukan.
-
pow(): Mengembalikan kuasa nombor.
-
log(): Mengembalikan logaritma asli sesuatu nombor.
Fungsi pemprosesan tarikh dan masa
-
tarikh(): Kembalikan tarikh dan masa semasa mengikut format yang ditetapkan.
-
strtotime(): Tukar rentetan tarikh/masa kepada cap masa.
-
mktime(): Cipta cap waktu (dari tahun, bulan, hari, jam, minit dan saat tertentu).
-
masa(): Mengembalikan cap masa semasa.
-
gmstrftime(): Formatkan masa dalam zon waktu GMT.
Kes praktikal
Memproses susunan besar yang mengandungi gred pelajar:
<?php
// 初始数组
$grades = [
['name' => 'John', 'grade' => 90],
['name' => 'Mary', 'grade' => 85],
['name' => 'Bob', 'grade' => 75],
['name' => 'Alice', 'grade' => 95],
];
// 使用 array_map() 计算平均成绩
$average_grades = array_map(function($student) {
return $student['grade'] / 100;
}, $grades);
// 使用 array_filter() 获取平均成绩大于 0.9 的学生
$top_students = array_filter($grades, function($student) {
return $student['grade'] / 100 > 0.9;
});
// 使用 array_reduce() 计算总平均成绩
$total_average = array_reduce($average_grades, function($carry, $item) {
return $carry + $item;
}, 0) / count($average_grades);
// 打印结果
echo "平均成绩:", $total_average, "\n";
echo "平均成绩大于 0.9 的学生:", implode(", ", array_column($top_students, 'name')), "\n";
Salin selepas log masuk
Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi PHP untuk memproses data dengan cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!