Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengesahkan Tatasusunan PHP untuk Kandungan Integer dengan Berkesan?
Dalam PHP, mengesahkan sama ada tatasusunan mengandungi integer secara eksklusif boleh dicapai melalui pelbagai pendekatan. Walaupun lelaran manual dan semakan bersyarat adalah pilihan yang berdaya maju, terdapat penyelesaian yang lebih ringkas menggunakan fungsi PHP asli.
Fungsi array_filter menawarkan kaedah yang mudah dan cekap untuk tugasan ini. Ia menapis tatasusunan berdasarkan fungsi panggil balik yang disediakan, mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang memenuhi syarat. Dalam kes kami, kami boleh menggunakan fungsi is_int terbina dalam sebagai panggilan balik untuk mengasingkan elemen integer:
<code class="php">$only_integers === array_filter($only_integers, 'is_int'); // true $letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>
Untuk meningkatkan kebolehbacaan dan kebolehgunaan semula kod, kami boleh menentukan fungsi pembantu yang menyamaratakan proses pengesahan kami. Fungsi ini memanfaatkan fungsi tertib lebih tinggi, yang beroperasi pada fungsi sebagai hujah, memberikan fleksibiliti yang lebih besar.
<code class="php">// Check if all array elements pass the predicate function all($elems, $predicate) { foreach ($elems as $elem) { if (!call_user_func($predicate, $elem)) { return false; } } return true; } // Check if any array element passes the predicate function any($elems, $predicate) { foreach ($elems as $elem) { if (call_user_func($predicate, $elem)) { return true; } } return false; }</code>
Dengan bantuan ini, pengesahan asal kami menjadi ungkapan ringkas dan deklaratif:
<code class="php">all($only_integers, 'is_int'); // true any($letters_and_numbers, 'is_int'); // false</code>
Untuk memudahkan lagi proses pengesahan, kami boleh merangkum pembantu dalam fungsi tersuai yang menerima tatasusunan dan mengembalikan bendera boolean:
<code class="php">function array_has_only_ints($array) { return all($array, 'is_int'); }</code>
Fungsi ini menyediakan con
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Tatasusunan PHP untuk Kandungan Integer dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!