Tôi có thể trả về mảng trong hàm trong PHP không?
❮ Tham chiếu mảng PHP Show
Thí dụTrả về tất cả các giá trị của một mảng (không phải các khóa) $a=array("Tên"=>"Peter","Tuổi"=>"41","Quốc gia"=>"Hoa Kỳ"); Định nghĩa và cách sử dụngHàm array_values() trả về một mảng chứa tất cả các giá trị của một mảng Mẹo. Mảng trả về sẽ có các phím số, bắt đầu từ 0 và tăng lên 1 cú phápGiá trị tham sốTham sốMảng mô tảBắt buộc. Chỉ định một mảngchi tiết kỹ thuậtGiá trị trả về. Trả về một mảng chứa tất cả các giá trị của một mảngPhiên bản PHP. 4+❮ Tham chiếu mảng PHP Chúng tôi chủ yếu sử dụng các tham số chức năng để lấy dữ liệu bên ngoài bên trong một chức năng để xử lý thêm. Tương tự, chúng tôi trả về các giá trị từ hàm PHP để có quyền truy cập vào dữ liệu được xử lý bên ngoài hàm. Bạn có thể định nghĩa các hàm trong PHP có hoặc không có giá trị trả về Mặc dù một hàm trong PHP có thể có nhiều tham số, nhưng nó không thể có nhiều câu lệnh trả về. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách trả về nhiều giá trị từ một hàm trong PHP Câu lệnh trả về trong PHPCác hàm trong PHP có thể có câu lệnh
72 tùy chọn. Khi được gọi từ bên trong một hàm, câu lệnh return ngay lập tức tạm dừng việc thực thi bất kỳ mã nào khác. Điều này cũng bao gồm các báo cáo trả về khác. Đây là một ví dụ1
2 3 function multiple_returns($a, $b) { 4 $x = 2*$a; 5 $y = 3*$b; 6
0
1
2
3
4
5
6
7
8
920 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 function multiple_returns($a, $b) {0 function multiple_returns($a, $b) {1 function multiple_returns($a, $b) {2 function multiple_returns($a, $b) {3 Lưu ý rằng việc chạy đoạn mã trên không lặp lại câu lệnh về giá trị của
73. Điều này là do hàm dừng thực thi sau câu lệnh return đầu tiên. Nếu bạn bỏ ghi chú dòng nơi chúng tôi sử dụng
74 để gán giá trị biến, cả
75 và
76 sẽ là
77 vì
74 chỉ hoạt động với mảng và hàm chỉ trả về một sốSử dụng một mảng để trả về nhiều giá trịChúng tôi biết rằng một câu lệnh trả về có thể trả về bất kỳ loại giá trị nào. Do đó, chúng ta cũng có thể sử dụng nó để trả về một mảng chứa tất cả các giá trị mà chúng ta thực sự muốn trả về. Chúng ta có thể viết lại ví dụ trên như sau để trả về nhiều giá trị 1________0____3_______ 3 function multiple_returns($a, $b) { 4 $x = 2*$a; 5________9____10_______
045
223
3
5$x = 2*$a;0
7
9$x = 2*$a;3 20_______4_______9_______3_______2_______3_______4_______5_______2 Từ quan điểm của PHP, bạn vẫn trả về một giá trị, nhưng giá trị đó là một mảng có thể chứa nhiều giá trị khác. Đây là một trong những cách dễ nhất trong PHP để mô phỏng hàm trả về nhiều giá trị Chúng tôi chỉ trả về hai giá trị trong ví dụ trên. Tuy nhiên, mọi thứ có thể trở nên phức tạp một chút khi có nhiều giá trị hơn vì bạn phải ghi nhớ thứ tự đúng của các giá trị được trả về Bắt đầu từ PHP 7. 1, bạn có thể sử dụng
74 với mảng kết hợp. Điều này có nghĩa là thứ tự mà bạn trả về các phần tử sẽ không ảnh hưởng đến các giá trị được chỉ định. Đây là một ví dụ1
2 3 function multiple_returns($a, $b) { 4 $x = 2*$a; 5 $y = 3*$b; 6
0$y = 3*$b;0
223
3
5$y = 3*$b;5
7
9$y = 3*$b;8 20 39 22 24 63 25 27 $y = 3*$b;8 29 39 30 32 function multiple_returns($a, $b) {2 Bạn có thể thấy rằng các biến
75 và
76 nhận các giá trị giống nhau trong cả hai trường hợp vì các giá trị hiện đang được gán dựa trên khóa thay vì chỉ sốBạn thậm chí không cần sử dụng
74 từ PHP 7. 1 trở đi vì PHP hiện hỗ trợ cú pháp phá hủy. Chúng ta có thể viết lại ví dụ trước như1
2 3 function multiple_returns($a, $b) { 4 $x = 2*$a; 5 $y = 3*$b; 6
0$y = 3*$b;0
223
3
5
18
7
9$y = 3*$b;8 20 39 22 24
2625 27 $y = 3*$b;8 29 39 30 32 function multiple_returns($a, $b) {2 Sử dụng một đối tượng để trả về nhiều giá trịMột cách khác để trả về nhiều giá trị từ một hàm PHP là trả về một đối tượng. Chúng ta có thể định nghĩa một lớp với các thuộc tính khác nhau bằng cách sử dụng các biến thành viên công cộng. Một nhược điểm của kỹ thuật này là bạn sẽ phải viết nhiều mã hơn nên sẽ tốn nhiều bộ nhớ hơn để lưu trữ nhiều thể hiện của lớp. Ưu điểm là bạn sẽ có thể sử dụng cùng một bộ biến ở nhiều nơi 1
2 3
394
415
436 23
0
2
48
3
5
51
7
53
9
5520 22
5824 23 25 27
6329 30 $y = 3*$b;8 32
6833 35 function multiple_returns($a, $b) {2 Như bạn có thể thấy, chúng ta có thể lấy thành công nhiều giá trị ra khỏi hàm bằng cách tạo một đối tượng và gán các giá trị cho các thuộc tính khác nhau của nó Suy nghĩ cuối cùngTrong hướng dẫn này, bạn đã học được rằng PHP không cho phép bạn trả về trực tiếp nhiều giá trị từ một hàm. Tuy nhiên, bạn có thể khắc phục hạn chế đó bằng cách đóng gói nhiều giá trị dưới dạng một mảng hoặc một đối tượng. Sau đó, bạn chỉ cần trả về mảng hoặc đối tượng từ hàm rồi truy cập các giá trị sau Chúng ta có thể trả về một mảng từ một hàm trong PHP không?Một hàm không thể trả về nhiều giá trị, nhưng có thể thu được kết quả tương tự bằng cách trả về một mảng .
Chúng ta có thể trả về một mảng từ một hàm không?Lập trình C không cho phép trả về toàn bộ mảng làm đối số cho hàm . Tuy nhiên, bạn có thể trả về một con trỏ tới một mảng bằng cách chỉ định tên của mảng mà không có chỉ mục.
Làm cách nào để trả về giá trị trong mảng trong PHP?Hàm array_values() trả về một mảng chứa tất cả các giá trị của một mảng. Mẹo. Mảng trả về sẽ có các phím số, bắt đầu từ 0 và tăng lên 1.
Tại sao chúng ta không thể trả về mảng từ hàm?Không thể sao chép kiểu mảng trần trong ngôn ngữ C vì lý do lịch sử chủ yếu . Vì lý do này, không thể khởi tạo mảng bằng mảng, gán mảng cho mảng, truyền mảng theo giá trị dưới dạng tham số hoặc trả về mảng từ hàm. |