Hướng dẫn how can i return multiple values from a single function in php? - làm cách nào để trả về nhiều giá trị từ một hàm duy nhất trong php?

Chúng tôi chủ yếu sử dụng các tham số chức năng để có được 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ể xác định các chức năng 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.

  • Trả lại báo cáo trong PHP
  • Sử dụng một mảng để trả về nhiều giá trị
  • Sử dụng một đối tượng để trả về nhiều giá trị

Trả lại báo cáo trong PHP

Các chức năng trong PHP có thể có một câu lệnh return tùy chọn. Khi được gọi từ bên trong một hàm, một câu lệnh trả về 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 tuyên bố hoàn trả khác. Đây là một ví dụ:


Lưu ý rằng việc chạy mã trên không lặp lại câu lệnh về giá trị của $y. Điều này là do chức năng dừng thực thi sau câu lệnh trả về đầu tiên. Nếu bạn giải quyết dòng mà chúng tôi sử dụng list[] để gán các giá trị biến, cả $m$n sẽ là ____10 vì list[] chỉ hoạt động với các 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 tôi cũng có thể sử dụng nó để trả về một mảng sẽ chứa tất cả các giá trị chúng tôi 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ị:

Từ quan điểm của PHP, bạn vẫn đang trả lại một giá trị duy nhất, nhưng giá trị đơn đó 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 sự trở lại của nhiều giá trị bằng một hàm.

Chúng tôi chỉ trả lại hai giá trị trong ví dụ trên. Tuy nhiên, mọi thứ có thể có một chút khó khăn khi có nhiều giá trị có liên quan vì bạn phải giữ đúng thứ tự của các giá trị được trả về trong tâm trí.

Bắt đầu từ Php 7.1, bạn có thể sử dụng list[] với các mảng kết hợp. Điều này có nghĩa là thứ tự bạn trả về các phần tử sẽ không ảnh hưởng đến các giá trị được gán. Đây là một ví dụ:

Bạn có thể thấy rằng các biến $m$n nhận được cùng một giá trị trong cả hai trường hợp vì các giá trị hiện đang được gán dựa trên các khóa thay vì các chỉ số số.

Bạn thậm chí không cần sử dụng list[] 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ư:

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ừ hàm PHP là trả về một đối tượng. Chúng ta có thể xác định một lớp với các thuộc tính khác nhau bằ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, vì vậy nó sẽ tiêu thụ nhiều bộ nhớ hơn để lưu trữ nhiều trường hợp 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.

Như bạn có thể thấy, chúng tôi đã có thể nhận được nhiều giá trị ra khỏi hàm bằng cách 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ùng

Trong 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ể hiểu được giới hạn đó bằng cách đóng gói nhiều giá trị dưới dạng mảng hoặc một đối tượng. Sau đó, bạn chỉ cần trả lại mảng hoặc đối tượng từ hàm và sau đó truy cập các giá trị sau.

Bạn có thấy bài đăng này hữu ích?

Freelancer, người hướng dẫn

Tôi là một nhà phát triển đầy đủ, người cũng thích viết các hướng dẫn. Sau khi thử một loạt những điều cho đến năm thứ hai của đại học, tôi quyết định làm việc về các kỹ năng phát triển web của mình. Bắt đầu chỉ với HTML và CSS, tôi tiếp tục tiến về phía trước và có được kinh nghiệm trong PHP, JavaScript và Python. Tôi thường dành thời gian rảnh của mình hoặc làm việc cho một số dự án phụ hoặc đi du lịch xung quanh.

Làm cách nào để trả về nhiều giá trị từ một hàm?

Chúng ta có thể trả về nhiều hơn một giá trị từ một hàm bằng cách sử dụng phương thức được gọi là cuộc gọi bằng địa chỉ, hoặc cuộc gọi bằng cách tham chiếu.Trong hàm Invoker, chúng tôi sẽ sử dụng hai biến để lưu trữ kết quả và hàm sẽ lấy dữ liệu loại con trỏ.Vì vậy, chúng tôi phải chuyển địa chỉ của dữ liệu.by using the method called “call by address”, or “call by reference”. In the invoker function, we will use two variables to store the results, and the function will take pointer type data. So we have to pass the address of the data.

Bạn có thể trả về nhiều giá trị từ một hàm không?

Nếu chúng ta muốn hàm trả về nhiều giá trị của cùng loại dữ liệu, chúng ta có thể trả lại con trỏ về mảng của các loại dữ liệu đó.Chúng ta cũng có thể làm cho hàm trả về nhiều giá trị bằng cách sử dụng các đối số của hàm.return the pointer to array of that data types. We can also make the function return multiple values by using the arguments of the function.

Làm thế nào tôi có thể trả lại hai mảng trong PHP?

Một tùy chọn khác để xem xét là sử dụng các tham số ghi.Sau đó, để gọi: $ mảng1 = mảng [];$ arr2 = foobar [$ ARR1];Điều này sẽ không hữu ích nếu bạn luôn cần trả lại hai mảng, nhưng nó có thể được sử dụng để luôn trả lại một mảng và trả lại chỉ khác trong một số trường hợp nhất định.use write parameters. Then, to call: $arr1 = array[]; $arr2 = foobar[$arr1]; This won't be useful if you always need to return two arrays, but it can be used to always return one array and return the other only in certain cases.

Bài Viết Liên Quan

Chủ Đề