首页 > 解决方案 > php - 设置没有默认值的函数并调用没有输入值的函数

问题描述

我已将 php 版本从 5.3 更新到 7.1。我检查了我的网站,发现了一个问题。

function getComment($comment_id){
    $comment_sql = "SELECT * FROM comment";

    if($comment_id){
         $comment_sql .= " WHERE id = '{$comment_id}'";
    }

    $comment = $db->query($comment_sql, true);
    $comment = is_array($comment)? $comment : array();

    return $comment;
}

echo getComment();

它适用于 PHP 5.3,但不能在 php 7 中调用。我需要修改函数并设置默认值。

function getComment($comment_id = ""){
    $comment_sql = "SELECT * FROM comment";

    if($comment_id){
         $comment_sql .= " WHERE id = '{$comment_id}'";
    }

    $comment = $db->query($comment_sql, true);
    $comment = is_array($comment)? $comment : array();

    return $comment;
}

echo getComment();

是PHP版本还是PHP设置造成的?

标签: php

解决方案


这不是由配置选项引起的。而且我几乎可以肯定这不是由 PHP 7 引起的,但我需要其他人对此的看法。

最重要的是,您永远不应该使用未初始化的变量并将未初始化的值作为业务逻辑的一部分。为 $a 提供默认值。


推荐阅读