Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengesahkan Tatasusunan Integer Sahaja dengan Cekap dalam PHP?

Bagaimana untuk Mengesahkan Tatasusunan Integer Sahaja dengan Cekap dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-17 14:00:05443semak imbas

How to Efficiently Verify Integer-Only Arrays in PHP?

Mengesahkan Tatasusunan Integer Sahaja dengan PHP

Salah satu cara untuk menyemak sama ada tatasusunan mengandungi integer secara eksklusif adalah melalui lelaran manual dan fungsi is_int(). Walau bagaimanapun, pendekatan yang lebih cekap menggunakan fungsi PHP asli:

Menggunakan array_filter()

array_filter() mengekalkan elemen tatasusunan yang memenuhi syarat yang ditetapkan. Mengaplikasikannya dengan is_int() sebagai predikat secara langsung menghasilkan tatasusunan yang ditapis:

<code class="php">$only_integers = array_filter($only_integers, 'is_int'); // true
$letters_and_numbers = array_filter($letters_and_numbers, 'is_int'); // false</code>

Menggunakan Fungsi Pembantu Boleh Digunakan Semula

Pendekatan ini boleh ditambah dengan fungsi pembantu boleh guna semula:

<code class="php">/**
 * Verify all elements of an array satisfy a given predicate.
 *
 * @param array $elems Array to evaluate
 * @param callable $predicate Predicate to apply
 * @return bool TRUE if all elements pass, FALSE otherwise
 */
function all($elems, $predicate) {
  foreach ($elems as $elem) {
    if (!call_user_func($predicate, $elem)) {
      return false;
    }
  }

  return true;
}

/**
 * Verify any element of an array satisfies a given predicate.
 *
 * @param array $elems Array to evaluate
 * @param callable $predicate Predicate to apply
 * @return bool TRUE if any element passes, FALSE otherwise
 */
function any($elems, $predicate) {
  foreach ($elems as $elem) {
    if (call_user_func($predicate, $elem)) {
      return true;
    }
  }

  return false;
}</code>

Dengan menggunakan fungsi pembantu ini, kod asal boleh dipermudahkan:

<code class="php">$has_only_ints = all($only_integers, 'is_int'); // true
$has_only_ints = all($letters_and_numbers, 'is_int'); // false</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Tatasusunan Integer Sahaja dengan Cekap dalam PHP?. 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