相关疑难解决方法(0)

在函数中使用默认参数

我对PHP函数的默认值感到困惑.说我有这样的功能:

function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}
Run Code Online (Sandbox Code Playgroud)

如果我想使用$ x的默认参数并为$ y设置不同的参数,该怎么办?

我一直在尝试不同的方式,我只是变得更加困惑.例如,我尝试了这两个:

foo("blah", null, "test");
foo("blah", "", "test");
Run Code Online (Sandbox Code Playgroud)

但是这两个都不会导致$ x的正确默认参数.我也尝试用变量名设置它.

foo("blah", $x, $y = "test");   
Run Code Online (Sandbox Code Playgroud)

我完全期望这样的事情能发挥作用.但它根本无法实现.似乎无论我做什么,每次调用函数时,我都必须最终输入默认参数.而且我必须遗漏一些明显的东西.

php arguments default

166
推荐指数
6
解决办法
14万
查看次数

命名PHP可选参数?

在PHP 4/5中是否可以在调用时指定一个命名的可选参数,跳过你不想指定的参数(比如在python中)?

就像是:

function foo($a,$b='', $c='') {
    // whatever
}


foo("hello", $c="bar"); // we want $b as the default, but specify $c
Run Code Online (Sandbox Code Playgroud)

谢谢

php default-value

21
推荐指数
3
解决办法
9224
查看次数

如何在需要默认值时跳过参数

如果我有这样的功能:

function abc($a,$b,$c = 'foo',$d = 'bar') { ... }
Run Code Online (Sandbox Code Playgroud)

我想$c假设它是默认值,但需要设置$d,我将如何在PHP中进行调用?

php

7
推荐指数
1
解决办法
3106
查看次数

传递函数的最后一个默认参数的值

很长一段时间我都在研究php.

但是我可能不知道一个问题

就像我有一个功能如下:

function hello($param1, $param2="2", $param3="3", $param4="4")
Run Code Online (Sandbox Code Playgroud)

现在每当我使用这个函数,如果我需要第4个参数那个$ param4那么我仍然需要像这样将所有空白称为空白:

hello(1, '', '', "param4");
Run Code Online (Sandbox Code Playgroud)

那么还有另一种方法可以在调用中传递第1和第4个参数而不是长列表空格吗?

或者还有其他标准方法吗?

php

4
推荐指数
1
解决办法
79
查看次数

使用PHP函数但错过了参数

我有一个PHP函数:

function TicketsDisplay($status, $company = '', $contact = '', $show_status_name = 'no', $StatusColour = '000000', $StatusHeaderFontColour = '#FFFFFF', $FontColour = '#000000' ) {
...
}
Run Code Online (Sandbox Code Playgroud)

我在这里跑:

<?php TicketsDisplay('Customer Reply',$_GET["seq"]); ?>
Run Code Online (Sandbox Code Playgroud)

我想补充一下

$order = 'datetime DESC';
Run Code Online (Sandbox Code Playgroud)

作为函数的参数,但我如何确保当我添加到最后它不显示错误,因为其他参数是空白

更新:

如果我的功能如下:

 function TicketsDisplay($status, $company = '', $contact = '', $show_status_name = 'no', $StatusColour = '000000', $StatusHeaderFontColour = '#FFFFFF', $FontColour = '#000000', $order = 'datetime DESC' ) {
    ...
    }
Run Code Online (Sandbox Code Playgroud)

我把我的功能称为:

<?php TicketsDisplay('Customer Reply',$_GET["seq"],'sequence ASC'); ?>
Run Code Online (Sandbox Code Playgroud)

肯定会认为结束参数是$contact

php

0
推荐指数
1
解决办法
123
查看次数

标签 统计

php ×5

arguments ×1

default ×1

default-value ×1