php—在windows和linux中将数组放在$var=''和$var=null中

col17t5w  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(171)

我在调试某些代码时发现一个错误:
此功能:

function mrbsGetEntryInfo($id)
{
    $sql = "SELECT start_time, end_time, entry_type, repeat_id, room_id,
    timestamp, beneficiaire, name, type, description
    FROM ".TABLE_PREFIX."_entry
    WHERE id = '".$id."'";
    $res = grr_sql_query($sql);
    if (!$res)
        return;
    $ret = '';
    if (grr_sql_count($res) > 0)
    {
        $row = grr_sql_row($res, 0);
        $ret["start_time"]  = $row[0];
        $ret["end_time"]    = $row[1];
        $ret["entry_type"]  = $row[2];
        $ret["repeat_id"]   = $row[3];
        $ret["room_id"]     = $row[4];
        $ret["timestamp"]   = $row[5];
        $ret["beneficiaire"]   = $row[6];
        $ret["name"]        = $row[7];
        $ret["type"]        = $row[8];
        $ret["description"] = $row[9];
    }
    grr_sql_free($res);
    return $ret;
}

在windows上 $ret = '' 工作良好,当输出变量时,我们可以从 start_timedescription .
但是在linux centos上 $ret='' 只输出 $ret["type"] (类型为单个字符)
这个问题是通过切换来解决的 ''null . 我不明白为什么,我发现这解释了“”和null之间的区别
正如上面提到的, '' 是一个空字符串 null 只是一个变量,里面什么都没有。我还是不明白为什么这个能解决这个问题。

有用信息:

+------------+------------+--------------+
|            |   Windows  | Linux CentOS |
+------------+------------+--------------+
| OS version | Windows 10 |  Centos 7.5  |
+------------+------------+--------------+
|     PHP    |    7.1.9   |    7.2.11    |
+------------+------------+--------------+
|    MySQL   |   5.7.19   |    5.7.24    |
+------------+------------+--------------+
|   Apache   |   2.4.27   | Apache/2.4.6 |
+------------+------------+--------------+

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题