Làm cách nào để trả về nhiều giá trị trong PHP?

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

Chủ Đề