Hai biến không thể được trả về rõ ràng, chúng có thể được đặt trong cấu trúc dữ liệu danh sách/mảng và được trả về
Thí dụ
Bản thử trực tiếp
function factors[ $n ] { // An empty array is declared $fact = array[]; // Loop through it for [ $i = 1; $i < $n; $i++] { // Check if i is the factor of // n, push into array if[ $n % $i == 0 ] array_push[ $fact, $i ]; } // Return array return $fact; } // Declare a variable and initialize it $num = 12; // Function call $nFactors = factors[$num]; // Display the result echo 'Factors of ' . $num . ' are:
'; foreach[ $nFactors as $x ] { echo $x . "
"; }
đầu ra
Điều này sẽ tạo ra đầu ra sau -
Factors of 12 are: 1 2 3 4 6
dòng 3. chúng tôi có một hàm gọi là tính toán và nó chấp nhận 2 đối số mà chúng tôi đang gán cho các biến $number1 và $number2
dòng 5. chúng tôi đang thêm 2 số và gán câu trả lời cho $add
dòng 6. chúng tôi đang trừ 2 số và gán câu trả lời cho $subtract
dòng 7. chúng tôi đang nhân 2 số và gán câu trả lời cho $multiply
dòng 8. chúng tôi đang trả về một mảng với 3 câu trả lời
Dòng 12. chúng ta in mảng trả về sau khi gọi hàm tính toán với đối số 3 và 5
Đầu ra sẽ trông như thế này
Chúng ta có thể thấy 3 câu trả lời từ cộng, trừ và nhân 3 và 5
Để xuất kết quả theo cách đẹp hơn, chúng ta có thể làm một cái gì đó như thế này
Đầu ra sẽ là
Chúng tôi thậm chí có thể tạo một vòng lặp và làm điều gì đó như thế này
Điều quan trọng cần nhớ là vị trí mảng bắt đầu từ 0, không phải 1
Ở dòng 13 tôi đã khai báo một mảng khác để lưu trữ các toán tử
Ở dòng 16, tôi đã bắt đầu một vòng lặp đơn giản để xem qua từng câu trả lời và lặp lại kết quả. Điều này hoạt động vì tôi biết những toán tử nào trong hàm
Có nhiều cách khác chúng ta có thể tiếp cận vấn đề này. nhưng, tại sao lại làm cho mọi thứ trở nên phức tạp hơn mức cần thiết
Theo truyền thống, các hàm trong PHP cho phép bạn chỉ trả về một giá trị tại một thời điểm. Tuy nhiên, đôi khi bạn có thể cần trả về nhiều giá trị từ một hàm. May mắn thay, có một vài cách giải quyết để trả về nhiều giá trị trong PHP
1. Sử dụng một mảng
Cách giải quyết đầu tiên là sử dụng một mảng để lưu trữ tất cả các trường bắt buộc và trả về mảng đó từ hàm. Ví dụ: giải pháp sau lưu trữ tất cả các giá trị sẽ được trả về trong một mảng và trả về giá trị đó từ hàm. Sau đó, nó sử dụng cấu trúc danh sách để truy cập các giá trị mảng. list[]
có thể hoạt động trên các mảng số và gán các biến như thể chúng là một mảng
1
2
3
4
5
6
7
8
9
10
11
12
13
Tải xuống Chạy mã
Để nội dung rõ ràng hơn, bạn có thể sử dụng mảng kết hợp. Đây là phiên bản sạch hơn của đoạn mã trên trả về thông tin trường cho người gọi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17