Tôi đã đọc trong một cuốn sách giáo khoa WordPress nơi tôi tìm thấy một mô tả nhanh chóng cho các chức năng sau:Tại sao các hàm PHP có thể chấp nhận các đối số boolean khi nó yêu cầu các số nguyên?
function is_super_admin($user_id = false) {...
chức năng này xác định nếu người dùng là một quản trị trang web.
Tuy nhiên, câu hỏi của tôi là về cách PHP xử lý các thông số.
Hàm trên nhận được một tham số nguyên, và nếu bạn không truyền bất kỳ tham số nào thì nó sẽ gán giá trị mặc định là FALSE
.
Đây là câu hỏi của tôi:
FALSE
là một loại BOOLEAN
dữ liệu, và chức năng này nên chấp nhận một loại INTEGER
dữ liệu.
Vậy làm thế nào nó có thể được phép cung cấp một giá trị boolean, khi chúng ta nên cung cấp một giá trị số nguyên?
Bạn không khai báo bất cứ nơi nào tham số là 'int', tại sao * không nên * nó hoạt động? – deceze
PHP được nhập động. Bạn có thể chuyển đối số của các loại khác nhau, trừ khi được loại trừ theo cách cụ thể. Trong trường hợp cụ thể này, về cơ bản bạn có thể vượt qua bất cứ điều gì. – Mjh
Đọc thêm về [loại juggling] (http://php.net/manual/en/language.types.type-juggling.php) trong PHP. – axiac