【问题标题】:PHP - function parameter type longPHP - 函数参数类型长
【发布时间】:2017-03-02 15:04:52
【问题描述】:

我想知道 php 是如何为某些函数实现“标志”参数的:

glob( "argument as string" , GLOB_MARK )

在官方文档中它的标志被声明为整数:

array glob ( string $pattern [, int $flags = 0 ] )

怀疑地我试图实现它:

function a(int $a){ var_dump($a); }    a(FLAG);

正如预期的那样,它会引发一个错误,即未定义常量“FLAG”。 所以我真的很想知道:我怎么能做这么酷的事情,防止'FLAG'的常量。

【问题讨论】:

  • 你只需要定义你的常量:php.net/manual/en/language.constants.php
  • 不同之处在于您尝试将默认参数添加到实际参数。从哪里调用 FLAG 确实没有定义。他们正在做的是定义默认的形式参数。您的示例和他们的示例在任何方面都不相同,

标签: php parameters


【解决方案1】:

你只需要在使用define之前定义你的常量

define("FLAG", "foo");

那你应该正常使用了。

function a(int $a) { 
    var_dump($a); 
}    
a(FLAG);

http://php.net/manual/en/function.define.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 2023-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 2013-11-03
    相关资源
    最近更新 更多