Tur*_*Ali 7 php validation function
我的验证功能看起来像那样
function validate($data, $data2 = 0, $type)
{
...
Run Code Online (Sandbox Code Playgroud)
函数调用示例
if ($result = validate($lname, 'name') !== true)
response(0, $result, 'lname');
Run Code Online (Sandbox Code Playgroud)
如您所见,我的验证功能有3个输入变量.我不经常使用第二个var - $ data2,这就是默认设置为0的原因.但是,当我将此函数作为给定示例调用时(据我所知它意味着$ data = $ lname,$ data2 = 0,$ type ='name')获取错误消息
Missing argument 3 ($type) for validate()
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Ber*_*rak 21
缺少参数3($ type)的validate()
始终列出可选参数作为最后一个参数.由于PHP没有命名参数也没有"重载ala Java",这是唯一的方法:
function validate($data, $type, $data2 = 0) {
}
Run Code Online (Sandbox Code Playgroud)
您至少应该在此行中设置$ type:
function validate($data, $data2 = 0, $type)
Run Code Online (Sandbox Code Playgroud)
在NULL
或''
如您所见:
function validate($data, $data2 = 0, $type = null)
Run Code Online (Sandbox Code Playgroud)
PHP让您能够为参数设置一个值,但不能定义参数无预设值后的参数(S),其HAVE预设值.因此,如果您需要始终指定第三个参数,则必须像这样切换第二个和第三个参数:
function validate($data, $type, $data2 = 0)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23466 次 |
最近记录: |