【问题标题】:Will empty variables impact my code? (PHP)空变量会影响我的代码吗? (PHP)
【发布时间】:2013-02-17 12:06:33
【问题描述】:

换句话说,说我有

$existingVariable = 'This is set';
echo thisFunction($existingVariable, $nonExistingVariable);

//included file
function thisFunction($existingVariable){
  echo $existingVariable;
}

$nonExistingVariable 不再存在,因为包含的文件已更改。

所以按照我的理解,$nonExistingVariable 会 = '' 或 NULL,对吗?这对我的代码有任何实际影响吗?我会在发布之前将它们删除(或将它们添加回包含的文件),但我只是好奇是否将不存在的变量作为参数存在功能问题的风险。

【问题讨论】:

  • 简单的方法是将错误报告设置为 E_ALL 并对其进行测试,您将得到答案。 O_o
  • 它们确实会抛出错误,但我得到的是Undefined variable 实际上会减慢我的代码速度或有可能导致实际的功能问题。本诺回答了我的担忧。

标签: php arguments


【解决方案1】:

如果变量不存在,那么是的,PHP 会给你一个错误。 “未定义的变量”。您可以分配一个 NULL 值,$nonExistingVariable= NULL;或者你可以这样做

如果 (!empty($nonExistingVariable))

为了防止错误

【讨论】:

    【解决方案2】:

    它不会影响代码的功能,除非您使用 func_get_args(); 处理您的参数,而不是仅仅指定它们(您正在指定它们,所以它不会有任何影响)

    I.E.你可以这样做:

    function test() {
    
    $args = func_get_args();
    
    $b = $args[0];
    $c = $args[1];
    echo "$b\n$c";
    }
    test('dog','cat');
    outputs: 
    dog
    cat
    

    但它会影响代码的可读性和用户友好性被传递给函数(因为它不再是一个参数)。

    如果不再使用,为什么不直接删除它?

    【讨论】:

    • 变量确实存在,它们是$dbFieldname,表示从数据库中实际获取行项目所需的脚本。只是一会儿,只是想知道他们会发生什么。
    猜你喜欢
    • 2020-03-25
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    相关资源
    最近更新 更多