Hướng dẫn how do i check if an array contains only numbers in php? - làm cách nào để kiểm tra xem một mảng chỉ chứa các số trong php?

Làm thế nào để bạn xác minh một mảng chỉ chứa các giá trị là số nguyên?

Tôi muốn có thể kiểm tra một mảng và kết thúc với giá trị boolean là true nếu mảng chỉ chứa số nguyên và false nếu có bất kỳ ký tự nào khác trong mảng. Tôi biết tôi có thể lặp qua mảng và kiểm tra từng phần tử và trả về true hoặc false tùy thuộc vào sự hiện diện của dữ liệu không phải là số lượng:

Ví dụ:

$only_integers = array(1,2,3,4,5,6,7,8,9,10);
$letters_and_numbers = array('a',1,'b',2,'c',3);

function arrayHasOnlyInts($array)
{
    foreach ($array as $value)
    {
        if (!is_int($value)) // there are several ways to do this
        {
             return false;
        }
    }
    return true;
}

$has_only_ints = arrayHasOnlyInts($only_integers ); // true
$has_only_ints = arrayHasOnlyInts($letters_and_numbers ); // false

Nhưng có một cách ngắn gọn hơn để làm điều này bằng cách sử dụng chức năng PHP gốc mà tôi chưa nghĩ đến?

Lưu ý: Đối với nhiệm vụ hiện tại của tôi, tôi sẽ chỉ cần xác minh một mảng một chiều. Nhưng nếu có một giải pháp hoạt động đệ quy, tôi sẽ đánh giá cao khi thấy điều đó.

Kiểm tra xem mảng chỉ chứa số #

Để kiểm tra xem một mảng chỉ chứa các số:

  1. Sử dụng phương thức Array.every() để lặp qua mảng.
  2. Trên mỗi lần lặp, kiểm tra xem loại phần tử hiện tại là number.
  3. Phương thức

    Copied!

    const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return typeof element === 'number'; }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ false
    0 sẽ trả về true nếu mảng chỉ chứa các số và false khác.

Copied!

const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return typeof element === 'number'; }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ false

Hàm chúng tôi đã chuyển đến phương thức mảng. Mọi phương thức được gọi với từng phần tử trong mảng cho đến khi nó trả về một giá trị giả hoặc lặp lại trên toàn bộ mảng.

Nếu hàm trả về giá trị giả, phương thức ngắn mạch phương thức trả về false.

Trên mỗi lần lặp, chúng tôi kiểm tra xem phần tử có loại number và trả về kết quả không.

Điều kiện phải được thỏa mãn cho tất cả các phần tử mảng cho phương thức

Copied!

const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return typeof element === 'number'; }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ false
0 để trả về true.

Nếu mảng của bạn chứa các số có thể thuộc loại

Copied!

const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return typeof element === 'number'; }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ false
8, thay vào đó hãy sử dụng phương pháp sau.

Copied!

const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return !isNaN(element); }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ true

Chúng tôi đã sử dụng hàm isnan để xác định xem giá trị được truyền có thể được chuyển đổi thành một số hay không.

Copied!

console.log(isNaN('test')); // 👉️ true console.log(isNaN('1')); // 👉️ false

Một cách dễ dàng để suy nghĩ về nó là:

  1. Hàm

    Copied!

    const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return typeof element === 'number'; }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ false
    9 (không phải là số) cố gắng chuyển đổi phần tử được truyền trong một số và trả về true nếu không.
  2. Chúng tôi phủ định kết quả bằng cách sử dụng toán tử logic không phải

    Copied!

    const arr1 = [1, 2, 3]; const arr2 = [1, 2, 'three']; const arr3 = ['1', '2', '3']; function onlyNumbers(array) { return array.every(element => { return !isNaN(element); }); } console.log(onlyNumbers(arr1)); // 👉️ true console.log(onlyNumbers(arr2)); // 👉️ false console.log(onlyNumbers(arr3)); // 👉️ true
    1, để kiểm tra xem tất cả các phần tử trong mảng có thể được chuyển đổi thành số không.

Đọc thêm #

  • Cách kiểm tra xem giá trị có phải là số nguyên trong JavaScript không
  • Kiểm tra xem chuỗi có chứa chất nền từ mảng trong javascript không

Làm cách nào để kiểm tra xem một mảng chỉ chứa số?

Để kiểm tra xem một mảng chỉ chứa các số: sử dụng phương thức mảng. Mọi () để lặp lại trên mảng. Trên mỗi lần lặp, kiểm tra xem loại phần tử hiện tại là số. Mọi phương thức sẽ trả về true nếu mảng chỉ chứa các số và sai nếu không.Use the Array. every() method to iterate over the array. On each iteration, check if the type of the current element is number . The every method will return true if the array contains only numbers and false otherwise.

Làm thế nào để bạn kiểm tra xem một mảng chỉ chứa một giá trị trong PHP?

Cho một mảng mảng [] có kích thước n, nhiệm vụ là kiểm tra xem mảng có chứa một phần tử riêng hay không ...
Chèn các phần tử của mảng vào tập hợp ..
Nếu chỉ có một phần tử riêng biệt thì kích thước của tập hợp sau bước 1 sẽ là 1, vì vậy hãy in ra Có Có ..
Nếu không, in "Không có" ..

Làm thế nào để bạn tìm thấy một số trong một mảng?

Algorithm..
Lặp lại mảng bằng cách sử dụng vòng lặp ..
Kiểm tra xem khóa đã cho có trong mảng, tức là ARR [i] == Key ..
Nếu có, in "Tìm kiếm tìm thấy" ..

Làm cách nào để kiểm tra xem một chuỗi chỉ chứa các số trong PHP?

Hàm is_numeric () kiểm tra xem một biến là số hoặc chuỗi số.Hàm này trả về true (1) nếu biến là số hoặc chuỗi số, nếu không nó sẽ trả về false/không có gì.is_numeric() function checks whether a variable is a number or a numeric string. This function returns true (1) if the variable is a number or a numeric string, otherwise it returns false/nothing.