Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Các đối số không ngăn chặn chức năng làm việc mặc dù không có gì được truyền cho nó được gọi là đối số tùy chọn. Các đối số có sự hiện diện hoàn toàn tùy chọn, giá trị của chúng sẽ được chương trình thực hiện nếu được cung cấp. Nhưng nếu không có giá trị nào được đưa ra cho một đối số nhất định, chương trình sẽ không dừng lại. Các đối số này được đưa ra bằng cách thường cung cấp chức năng một giá trị mặc định cho tham số. Bây giờ, nếu hàm được đưa ra với giá trị của đối số trong cuộc gọi, các đối số đã cho ghi đè lên một mặc định và chương trình tiếp tục bình thường. Nhưng nếu cuộc gọi không cung cấp chức năng với bất kỳ giá trị nào, chương trình tiếp tục bình thường với các cuộc gọi mặc định. Although the concept is pretty straight-forward but here is a flow chart to understand better.
Ý tưởng ở đây là tạo ra các đối số tùy chọn như vậy bên trong là chương trình. Điều này sẽ như đã đề cập sẽ được thực hiện bằng cách sử dụng giá trị mặc định.
Biểu đồ dòng chảy: Mặc dù khái niệm này khá đơn giản nhưng đây là một biểu đồ dòng chảy để hiểu rõ hơn.
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.5
Dưới đây ví dụ minh họa các đối số tùy chọn trong PHP.
string date [ string $format [, int $timestamp = time[] ] ]
2Ví dụ 1:
string date [ string $format [, int $timestamp = time[] ] ]
7Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.6
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.7
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.8
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.9
string date [ string $format [, int $timestamp = time[] ] ]
0string date [ string $format [, int $timestamp = time[] ] ]
1string date [ string $format [, int $timestamp = time[] ] ]
3string date [ string $format [, int $timestamp = time[] ] ]
4 string date [ string $format [, int $timestamp = time[] ] ]
5string date [ string $format [, int $timestamp = time[] ] ]
6string date [ string $format [, int $timestamp = time[] ] ]
8 string date [ string $format [, int $timestamp = time[] ] ]
9function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
8Output:
Travelling to Sweden. Traveling to Australia. Traveling to Tokyo.
8 string date [ string $format [, int $timestamp = time[] ] ]
Timer set for 0 : 0 : 0.
Timer set for 10 : 30 : 0.
Timer set for 0 : 20 : 40.
7
2function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
3 In this example it confirms that the timer is set.function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.5
string date [ string $format [, int $timestamp = time[] ] ]
8 Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.7
function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
6function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
3function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
8string date [ string $format [, int $timestamp = time[] ] ]
3function whatever[$var1, $var2, $var3="constant", $var4="another"]
0function whatever[$var1, $var2, $var3="constant", $var4="another"]
1function whatever[$var1, $var2, $var3="constant", $var4="another"]
2string date [ string $format [, int $timestamp = time[] ] ]
6Ví dụ 2: Trong ví dụ này, nó xác nhận rằng bộ hẹn giờ được đặt.
string date [ string $format [, int $timestamp = time[] ] ]
7Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.6
function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
1function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
2function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
3function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
4function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
3function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
6function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
7string date [ string $format [, int $timestamp = time[] ] ]
3string date [ string $format [, int $timestamp = time[] ] ]
4 function whatever[$var1, $var2, $var3="constant", $var4="another"]
6string date [ string $format [, int $timestamp = time[] ] ]
6string date [ string $format [, int $timestamp = time[] ] ]
8 function date [$format, $timestamp=''] {
}
0function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
8Output:
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.
Trong hướng dẫn sử dụng PHP, để hiển thị cú pháp cho các hàm với các tham số tùy chọn, chúng sử dụng dấu ngoặc xung quanh mỗi bộ tham số tùy chọn phụ thuộc. Ví dụ, đối với hàm
function date [$format, $timestamp=''] {
}
6, thủ công có nội dung:string date [ string $format [, int $timestamp = time[] ] ]
Trong đó
function date [$format, $timestamp=''] {
}
7 là một tham số tùy chọn và khi để trống, nó mặc định vào giá trị trả về của hàm function date [$format, $timestamp=''] {
}
8.Làm thế nào để bạn tạo ra các tham số tùy chọn như thế này khi xác định chức năng tùy chỉnh trong PHP?
Jeremy
9.8374 Huy hiệu vàng38 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges38 silver badges58 bronze badges
Khi được hỏi ngày 29 tháng 8 năm 2008 lúc 17:57Aug 29, 2008 at 17:57
Giống như hướng dẫn sử dụng một dấu bằng [
function whatever[$var1, $var2, $var3="constant", $var4="another"]
1] trong định nghĩa của bạn về các tham số:function dosomething[$var1, $var2, $var3 = 'somevalue']{
// Rest of function here...
}
Jeremy
9.8374 Huy hiệu vàng38 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges38 silver badges58 bronze badges
Đã trả lời ngày 29 tháng 8 năm 2008 lúc 17:58Aug 29, 2008 at 17:58
Jeff Winkworthjeff WinkworthJeff Winkworth
4.7646 Huy hiệu vàng33 Huy hiệu bạc33 Huy hiệu Đồng6 gold badges33 silver badges33 bronze badges
1
Giá trị mặc định của đối số phải là một biểu thức không đổi. Nó không thể là một biến hoặc một cuộc gọi chức năng.
Tuy nhiên, nếu bạn cần chức năng này:
function foo[$foo, $bar = false]
{
if[!$bar]
{
$bar = $foo;
}
}
Giả sử
function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
0 không được dự kiến sẽ là một boolean tất nhiên.Đã trả lời ngày 29 tháng 8 năm 2008 lúc 18:57Aug 29, 2008 at 18:57
RossrossRoss
45.4K37 Huy hiệu vàng118 Huy hiệu bạc170 Huy hiệu đồng37 gold badges118 silver badges170 bronze badges
3
Một số ghi chú mà tôi cũng thấy hữu ích:
Giữ các giá trị mặc định của bạn ở phía bên phải.
function whatever[$var1, $var2, $var3="constant", $var4="another"]
Giá trị mặc định của đối số phải là một biểu thức không đổi. Nó không thể là một biến hoặc một cuộc gọi chức năng.
Tuy nhiên, nếu bạn cần chức năng này:Aug 29, 2008 at 18:46
Giả sử
function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
0 không được dự kiến sẽ là một boolean tất nhiên.greghĐã trả lời ngày 29 tháng 8 năm 2008 lúc 18:579 gold badges30 silver badges27 bronze badges
Rossross
45.4K37 Huy hiệu vàng118 Huy hiệu bạc170 Huy hiệu đồngMột số ghi chú mà tôi cũng thấy hữu ích:Aug 29, 2008 at 17:59
mk.mk.mk.
Giữ các giá trị mặc định của bạn ở phía bên phải.13 gold badges37 silver badges41 bronze badges
Đã trả lời ngày 29 tháng 8 năm 2008 lúc 18:46
function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
Greghgregh
function foo[$required, $optional = 42]
{
// This function can be passed one or more arguments
}
34K9 Huy hiệu vàng30 Huy hiệu bạc27 Huy hiệu đồngnot
function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
2, and combined it with a null check. Literals include arrays [function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
3 or function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
4], booleans, numbers, strings, and function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
1.Cung cấp cho đối số tùy chọn một giá trị mặc định.Jun 2, 2013 at 9:25
function date [$format, $timestamp=''] {
}
Syntax:
function [[ ]...] {}
Đã trả lời ngày 29 tháng 8 năm 2008 lúc 17:59
25.8K13 Huy hiệu vàng37 Huy hiệu bạc41 Huy hiệu đồngHàm ngày sẽ được xác định một cái gì đó như thế này:
Thông thường, bạn sẽ đặt giá trị mặc định như thế này:Mar 2, 2016 at 14:05
Tuy nhiên, chỉ có nghĩa đen là các đối số mặc định hợp lệ, đó là lý do tại sao tôi đã sử dụng
function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
1 làm đối số mặc định trong ví dụ đầu tiên chứ không phải function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
2 và kết hợp nó với kiểm tra null. Các chữ bao gồm các mảng [function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
3 hoặc function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
4], booleans, số, chuỗi và function date[$format, $timestamp = null]
{
if [$timestamp === null] {
$timestamp = time[];
}
// Format the timestamp according to $format
}
1.Gergely LukacsyĐã trả lời ngày 2 tháng 6 năm 2013 lúc 9:252 gold badges22 silver badges28 bronze badges
Nếu bạn không biết có bao nhiêu thuộc tính cần được xử lý, bạn có thể sử dụng mã thông báo danh sách đối số variadic [____ 76] được giới thiệu trong PHP 5.6 [xem tài liệu đầy đủ tại đây].
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.1
Ví dụ:
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.2
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.0
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.3
Như bạn có thể thấy, mã thông báo này về cơ bản chuyển tất cả các tham số thành một mảng mà bạn có thể xử lý theo bất kỳ cách nào bạn muốn.
Timer set for 0 : 0 : 0. Timer set for 10 : 30 : 0. Timer set for 0 : 20 : 40.4
Đã trả lời ngày 2 tháng 3 năm 2016 lúc 14:05Nov 25, 2021 at 12:12