Php làm cho mảng trống

Vì mảng tôi đang trả về được khai báo trong một loạt các câu lệnh if, nên tôi cần trả về một mảng trống nếu tất cả các câu lệnh if được đánh giá là sai. Đây có phải là một cách chính xác để làm điều đó?

if [isset[$arr]]
  return $arr;
else 
  return array[];

đã hỏi ngày 11 tháng 12 năm 2012 lúc 1. 24

Tôi khuyên bạn nên khai báo

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
0 ở đầu hàm để bạn không phải lo lắng về điều đó

Nếu bạn đang kiểm tra ngay trước khi quay lại, tôi không khuyên bạn nên

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
1. Cách bạn đang sử dụng
if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
2 phụ thuộc vào một mảng được trả về. Ví dụ, nếu
if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
3 được đặt thành một số, thì nó vẫn sẽ hợp lệ. Bạn cũng nên kiểm tra
if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
4. Ví dụ

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];

Hoặc trong một dòng thay thế

return [isset[$arr] && is_array[$arr]] ? $arr : array[];

Nhưng, như tôi đã nói, tôi khuyên bạn nên khai báo mảng ở trên cùng thay vào đó. Nó dễ dàng hơn và bạn sẽ không phải lo lắng về nó

đã trả lời 11 tháng 12 năm 2012 lúc 1. 27

cegfault cegfault

6.3193 huy hiệu vàng25 huy hiệu bạc49 huy hiệu đồng

1

Để tránh phức tạp, Đơn giản chỉ cần

________số 8

đã trả lời 3 tháng 3 năm 2019 lúc 14. 12

Jasbir Rana Jasbir Rana

2413 huy hiệu bạc10 huy hiệu đồng

Mảng array trong PHP thực chất là một bản đồ có thứ tự. Bản đồ là một loại liên kết các giá trị với các khóa. Loại này được tối ưu hóa cho một số mục đích sử dụng khác nhau; . Vì các giá trị của mảng có thể là mảng khác, cây và đa chiều arrays are also possible.

Giải thích về các cấu trúc dữ liệu đó nằm ngoài phạm vi của sách hướng dẫn này, nhưng ít nhất một ví dụ được cung cấp cho mỗi cấu trúc đó. Để biết thêm thông tin, hãy xem tài liệu đáng kể tồn tại về chủ đề rộng lớn này

cú pháp

Chỉ định với array[]

Có thể tạo một mảng bằng cách sử dụng array[] language construct. It takes any number of comma-separated

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
5 pairs as arguments.

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
0

Dấu phẩy sau phần tử mảng cuối cùng là tùy chọn và có thể bỏ qua. Điều này thường được thực hiện cho các mảng một dòng, tôi. e.

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
6 được ưu tiên hơn
if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
7. Mặt khác, đối với các mảng nhiều dòng, dấu phẩy ở cuối thường được sử dụng, vì nó cho phép dễ dàng thêm các phần tử mới vào cuối

Ghi chú

Có một cú pháp mảng ngắn thay thế

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
8 bằng
if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
9

Ví dụ #1 Một mảng đơn giản

return [isset[$arr] && is_array[$arr]] ? $arr : array[];
0

Khóa key có thể là int hoặc a . string. The giá trị có thể thuộc bất kỳ loại nào.

Ngoài ra, phím sau sẽ diễn ra.

  • Chuỗi s chứa số thập phân hợp lệ int s, trừ khi số đó đứng trước dấu
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    1, . e. g. khóa
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    2 sẽ thực sự được lưu trữ trong
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    3. Mặt khác,
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    4 sẽ không được truyền, vì nó không phải là số nguyên thập phân hợp lệ. int type. E.g. the key
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    2 will actually be stored under
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    3. On the other hand
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    4 will not be cast, as it isn't a valid decimal integer.
  • Float s cũng được chuyển thành int s, nghĩa là phần phân số sẽ bị cắt bớt. e. g. khóa
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    5 sẽ thực sự được lưu trữ trong
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    3.
  • Bool s cũng được chuyển thành int s, tôi. e. khóa
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    7 sẽ thực sự được lưu trữ dưới
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    8 và khóa
    return [isset[$arr] && is_array[$arr]] ? $arr : array[];
    
    9 dưới
    return [];
    
    0.
  • Null sẽ được chuyển thành chuỗi rỗng, i. e. khóa
    return [];
    
    1 sẽ thực sự được lưu trữ trong
    return [];
    
    2.
  • Mảng s và đối tượng s làm khóa. Làm như vậy sẽ dẫn đến một cảnh báo.
    return [];
    
    3.

Nếu nhiều phần tử trong khai báo mảng sử dụng cùng một khóa, thì chỉ phần tử cuối cùng sẽ được sử dụng vì tất cả các phần tử khác đều bị ghi đè

Ví dụ #2 Ví dụ về truyền và ghi đè loại

return [];
4

Ví dụ trên sẽ xuất ra

if [isset[$arr] && is_array[$arr]]
    return $arr;
else 
    return array[];
0

Vì tất cả các khóa trong ví dụ trên được chuyển thành

return [isset[$arr] && is_array[$arr]] ? $arr : array[];
8, giá trị sẽ được ghi đè trên mọi phần tử mới và giá trị được gán cuối cùng
return [];
6 là giá trị duy nhất còn lại

Mảng PHP có thể chứa các khóa intchuỗi tại .

Ví dụ #3 Hỗn hợp khóa intchuỗi

Chủ Đề