Hàm PHP là một khối câu lệnh có thể sử dụng lại, nó cho phép chúng ta trả về là một chuỗi, mảng hoặc một đối tượng JSON đơn giản. Nhưng không thể có nhiều hơn một lượt về. Mặc dù vậy, bạn có thể sử dụng một mảng, tạo một câu lệnh có điều kiện để trả về một biến động hoặc sử dụng các trình tạo [đối với PHP 5. 5 trở lên]
Mảng PHP trả về nhiều giá trị
funtion arrayFunc[]{
$var1 = "return 1";
$var2 = "return 2";
return array[$var1, $var2];
}
trong ứng dụng
$result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
Hàm trên có thể có nhiều giá trị trả về dưới dạng một mảng, nó có thể được truy cập bằng cách sử dụng
$result = arrayFunc[];
echo $result[0]; // return 1
echo $result[1]; // return 2
Kể từ PHP 7. 1, có một chức năng mới tên là destructuring
cho danh sách. Nó có nghĩa là, có thể làm những việc như
$array = ['dog', 'cat', 'horse', 'fish'];
[$q, $w, $e, $r] = $array;
echo $q; // output: dog
echo $w; // output: cat
Áp dụng trong một chức năng sẽ như thế này
function descructingFunction[]{
return ['A', 'sample', 'descructing', 'function'];
}
[$a, $b, $c, $d] = descructingFunction[];
echo $a; //output: A
echo $d; // output: function
Hàm PHP với trả về động có điều kiện
function condFunc[$x = true]{
$ret1 = "One";
$ret2 = "Two";
if[$x == true]{
return $ret1;
}else{
return $ret2;
}
}
trong ứng dụng
echo condFunc[true];
//output: One
Bằng cách thực hiện phương pháp này, nó không cần trả về nhiều giá trị. Do đó, hàm sẽ xử lý điều kiện để lọc đúng giá trị cần thiết
Kết hợp mảng PHP và trả về điều kiện động
Sửa đổi hàm một chút có thể có tùy chọn trả về một mảng hoặc trả về động
Thí dụ
function combination[$x = true]{
$ret1 = "One";
$ret2 = "Two";
if[$x === true]{
return $ret2;
}
if[$x == "both"]{
return array[$ret1, $ret2];
}
}
echo combination[]; //output: Two
var_dump[combination["both"]] //output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
Sử dụng phương pháp này sẽ cho phép chức năng linh hoạt hơn
PHP $result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
0 đến $result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
1 Nhiều giá trị
$result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
$result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
Hàm
$result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
0 không trả về giá trị, nhưng mang lại bao nhiêu giá trị cần thiết. Nó trả về một đối tượng có thể được lặp lạiThí dụ
function multipleValues[]{
yield "return 1";
yield "return 2";
}
$return = multipleValues[];
foreach[$return as $ret]{
echo $ret; //$ret first value is "return 1" then "return 2"
}
Ghi chú. Từ khóa của một
$result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
0 là $result = arrayFunc[];
var_dump[$result];
//output: array[2] { [0]=> string[8] "return 1" [1]=> string[8] "return 2" }
1. Nó hoạt động giống như một câu lệnh hàm, nhưng nó không dừng việc thực thi và trả về, nó cung cấp giá trị cho các vòng lặp mã Ghi chú. Nếu bạn chỉ gán một mảng cho hàm array_merge[] và các khóa là số nguyên, hàm sẽ trả về một mảng mới với các khóa số nguyên bắt đầu từ 0 và tăng thêm 1 cho mỗi giá trị [Xem ví dụ bên dưới]
Mẹo. Sự khác biệt giữa hàm này và hàm array_merge_recursive[] là khi hai hoặc nhiều phần tử mảng có cùng khóa. Thay vì ghi đè các khóa, hàm array_merge_recursive[] tạo giá trị dưới dạng một mảng
Nếu bạn là một lập trình viên C/C++, thì bạn biết rằng các hàm không thể trả về nhiều hơn một giá trị. Để giải quyết vấn đề này, họ sử dụng Gọi theo tham chiếu – nơi địa chỉ của các biến được truyền vào, do đó, bất cứ khi nào giá trị trong địa chỉ được truyền thay đổi, giá trị của biến thực tế sẽ thay đổi mà không có gì được trả về
Trong PHP, chúng ta có thể thực hiện điều này với sự trợ giúp của mảng
Nội dung trang
Video hướng dẫn. Trả về nhiều giá trị từ hàm bằng cách sử dụng mảng trong PHP
Liên kết YouTube. https. //www. youtube. com/watch?v=HsX2ay702R8 [Xem Video Toàn Màn Hình. ]
Luồng công việc. Hợp lý
Bước 1. Ở đây chúng tôi chuyển các giá trị cho hàm
Bước 2. Tính toán hoặc hoạt động diễn ra bên trong chức năng
Bước 3. Trong trường hợp có nhiều thứ cần trả về, chúng ta lưu trữ nó bên trong một biến mảng. Bán tại. $result = mảng[$add, $sub, $mul, $div];
Bước 4. Chúng tôi trả về biến mảng
Bước 5. Bây giờ sử dụng chỉ mục mảng, chúng tôi hiển thị kết quả riêng lẻ bằng câu lệnh echo hoặc print
Mã nguồn. Trả về nhiều giá trị từ hàm bằng cách sử dụng mảng trong PHP
Return Multiple Values From Functions, using Arrays: In PHP
đầu ra
Phép cộng. 30
phép trừ. 10
Phép nhân. 200
Phân công. 2
Mảng [ [0] => 30 [1] => 10 [2] => 200 [3] => 2]
Những điều cần ghi nhớ
1. Tất cả các tệp PHP phải có. phần mở rộng tệp php
2. Toán tử nối trong PHP là. [CHẤM]
3. print_r là một hàm lấy biến mảng làm đối số của nó và hiển thị cấu trúc mảng đầu vào. Bán tại. print_r [$get_result];