Kiểm tra xem tất cả các giá trị trong mảng có trống không PHP

Chúng tôi tiếp tục với loạt bài hướng dẫn của Flexiple để giải thích mã và khái niệm đằng sau các trường hợp sử dụng phổ biến. Trong bài viết này, chúng tôi sẽ giải quyết cho một trường hợp cụ thể. Để kiểm tra xem một mảng có trống không bằng Javascript

Chúng ta có thể sử dụng cái này ở đâu?

Bạn có thể thấy điều này hữu ích khi bạn muốn thực thi một tập lệnh cụ thể nếu mảng trống - như bật hoặc tắt các nút dựa trên việc có bất kỳ đầu vào nào trong trường bắt buộc, v.v.

Nếu bạn chưa quen với lập trình hoặc chưa quen với javascript, chúng tôi khuyên bạn nên đọc qua toàn bộ bài viết, vì mỗi phần của bài viết sẽ hữu ích

Tuy nhiên, nếu bạn chỉ đang tìm kiếm mã, bạn có thể nhanh chóng kiểm tra

Mục lục

  • Triển khai mã để kiểm tra xem một mảng có trống hay không sử dụng Javascript
  • Hỗ trợ trình duyệt

Mã để kiểm tra xem một mảng có trống không bằng cách sử dụng javascript

Chúng tôi sẽ nhanh chóng xem qua mã và phần trình diễn của nó để kiểm tra xem một mảng có trống hay không và cũng xem lý do tại sao các hàm cụ thể này được sử dụng

//To check if an array is empty using javascript
function arrayIsEmpty(array) {
    //If it's not an array, return FALSE.
    if (!Array.isArray(array)) {
        return FALSE;
    }
    //If it is an array, check its length property
    if (array.length == 0) {
        //Return TRUE if the array is empty
        return true;
    }
    //Otherwise, return FALSE.
    return false;
}

Giải thích mã

Hãy phân tích mã này từng bước

  • Đầu tiên chúng ta kiểm tra xem một biến có phải là một mảng hay không bằng cách sử dụng Array. phương thức isArray()
  • Nếu biến truyền vào là một mảng thì điều kiện. Mảng. isArray() sẽ là Sai và do đó biến sẽ chuyển sang điều kiện khác
  • Nếu biến được truyền là bất kỳ thứ gì ngoại trừ một mảng chẳng hạn như không xác định hoặc một loại biến khác như chuỗi hoặc đối tượng, thì hàm sẽ trả về Sai
  • Sau khi đã xác nhận biến là mảng, bây giờ chúng ta có thể kiểm tra độ dài của mảng bằng Array. thuộc tính chiều dài
  • Nếu độ dài của đối tượng bằng 0 thì mảng được coi là rỗng và hàm sẽ trả về TRUE
  • Khác mảng không trống và hàm sẽ trả về Sai

Trình diễn kiểm tra xem mảng có trống không bằng Javascript

var fruitArr = new Array('Apple', 'Mango', 'Grapes');

//An example of a JavaScript array that is empty.
var arrTwo = new Array();

console.log(arrayIsEmpty(fruitArr)); //returns FALSE
console.log(arrayIsEmpty(arrTwo)); //returns TRUE

đầu ra

FALSE
TRUE

Giải thích đầu ra

  • Ở đây chúng ta có thể thấy rằng fruitArr là một mảng và do đó chuyển sang điều kiện thứ hai để kiểm tra xem độ dài của mảng có trống không
  • Vì mảng có 3 phần tử nên nó không rỗng và do đó hàm trả về Sai
  • Trong trường hợp thứ hai, mảngHai, nó lại là một mảng và do đó chuyển sang điều kiện thứ hai
  • Ở đây, vì mảng trống nên hàm trả về True

Tại sao nên sử dụng Mảng. phương thức isArray()?

Mảng. Phương thức isArray() là một phương thức chắc chắn để kiểm tra xem một biến có phải là một mảng hay không và nó tự động loại bỏ các trường hợp null và không xác định mà không cần viết thêm tập lệnh để kiểm tra nó

Mảng. phương thức isArray() trả về true cho các trường hợp sau

Array.isArray([]);
Array.isArray([3]);
Array.isArray(new Array());
Array.isArray(new Array('apple', 'mango', 'grapes'));
Array.isArray(new Array(5));
Array.isArray(Array.prototype);

Ghi chú. Mảng. bản thân nguyên mẫu là một mảng nên hàm Array. isArray() trả về TRUE

Mảng. isArray() trả về Sai cho các trường hợp sau

Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(21);
Array.isArray('Random String');
Array.isArray(true);
Array.isArray(false);
Array.isArray(new Uint8Array(32));
Array.isArray({
    __proto__: Array.prototype
});

Chúng ta có thể sử dụng typeof thay vì Array không. làArray?

Câu trả lời là KHÔNG, bởi vì một mảng trong JavaScript là một thể hiện của đối tượng Array và typeof sẽ trả về đối tượng kiểu cho nó

Để minh họa điều này, hãy xem xét ví dụ

const array = ['a', 'b', 'c'];

console.log(typeof array); // output: 'object'

console.log(array instanceof Array); // output: true

Chúng ta có thể sử dụng instanceof thay vì Array không. làArray?

Trong khi instanceof có thể được sử dụng cho hầu hết các trường hợp tại chỗ Array. isArray , Mảng. isArray được ưu tiên hơn instanceof vì nó hoạt động chính xác qua nhiều ngữ cảnh (chẳng hạn như khung hoặc cửa sổ) trong khi instanceof thì không

Lý do cho điều này là trong javascript, mỗi cửa sổ hoặc khung có môi trường thực thi riêng, do đó có phạm vi khác nhau. Điều này có nghĩa là chúng có các đối tượng cài sẵn khác nhau (i. e. các đối tượng toàn cầu khác nhau, các hàm tạo khác nhau, v.v. ). Điều này có thể dẫn đến kết quả không mong muốn khi sử dụng instanceof, ví dụ: đối với các tập lệnh truyền đối tượng từ ngữ cảnh này sang ngữ cảnh khác thông qua các hàm

Xem xét các trường hợp như vậy, tốt nhất là chỉ cần sử dụng Array. isArray, đặc biệt là khi tạo khung, thư viện hoặc plugin, trong đó môi trường mà nó sẽ được sử dụng không được biết trước

Sử dụng thuộc tính chiều dài

Khi chúng tôi chắc chắn rằng chúng tôi chỉ xử lý một mảng, chúng tôi có thể dễ dàng kiểm tra xem mảng đó có trống hay không bằng cách sử dụng thuộc tính độ dài. Nếu độ dài của mảng là 0 thì mảng trống nếu không thì mảng không trống

Một câu hỏi rõ ràng mà chúng ta có thể có là tại sao không chỉ sử dụng thuộc tính độ dài ngay từ đầu?

Đúng, nhưng thuộc tính độ dài có thể trả về biến đó trống ngay cả đối với các biến không phải mảng, vì vậy chúng tôi cần đảm bảo rằng chúng tôi đang xử lý một mảng trước khi sử dụng thuộc tính độ dài

Hỗ trợ trình duyệt

Mảng. phương thức isArray có vì nó là một phần của đặc tả ES5. Tuy nhiên, nếu các trình duyệt bạn đang nhắm mục tiêu thiếu hỗ trợ, bạn có thể sử dụng một polyfill cho trình duyệt được cung cấp bên dưới

Polyfill hoạt động tốt với các trình duyệt tương thích với thông số kỹ thuật ES3 và hoạt động trên các khung

Làm cách nào để kiểm tra xem tất cả các giá trị có trống trong mảng PHP không?

Sử dụng hàm đếm là một cách khác để kiểm tra xem một mảng có trống không. Hàm đếm sẽ đếm tất cả các phần tử trong một đối tượng hoặc mảng đếm được. Vì một mảng trống sẽ có 0 phần tử, bạn có thể sử dụng tính năng đếm để kiểm tra xem một mảng chứa bao nhiêu phần tử. Dưới đây là cú pháp của hàm đếm.

Làm cách nào để kiểm tra mảng trống hoặc rỗng trong PHP?

Hàm PHP rỗng () . Hàm này trả về false nếu biến tồn tại và không rỗng, ngược lại trả về true. Các giá trị sau đánh giá trống. 0

Làm cách nào để kiểm tra xem có bất kỳ giá trị nào là null trong mảng PHP không?

Hàm is_null() kiểm tra xem một biến có phải là NULL hay không. Hàm này trả về true (1) nếu biến là NULL, ngược lại trả về false/nothing.

Làm cách nào để kiểm tra giá trị khóa mảng có trống trong PHP không?

Hàm PHP array_key_exists() .