Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengesahkan Tatasusunan PHP untuk Kandungan Integer dengan Berkesan?

Bagaimana untuk Mengesahkan Tatasusunan PHP untuk Kandungan Integer dengan Berkesan?

Susan Sarandon
Susan Sarandonasal
2024-10-17 13:53:29256semak imbas

How to Validate PHP Arrays for Integer Content Effectively?

Pengesahan Tatasusunan yang Cekap untuk Kandungan Integer

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.

Menapis dengan array_filter

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>

Abstraksi dengan Fungsi Tertib Tinggi

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>

Invokasi Ringkas

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!

Kenyataan:
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