这个代码的实际作用是什么


What does this code actually do?

我最近受雇于一家办公室,他们在工作中使用了大量php,我的大部分开发背景是HTML、CSS、Jquery、Wordpress和Angularjs,我对一些php的逻辑有一个想法,但只是想知道是否有人能启发我以下代码的实际含义/作用?

return (isset($rs[0][0]) ? $rs[0][0] : "");

它位于调用数据库并返回值的函数中。

function get_temp($table, $field){
    global $db;
    $sql="select $field from $table";
    $rs=$db->select($sql);
    return (isset($rs[0][0]) ? $rs[0][0] : "");
}

我觉得这是从数组中的一个数组中选择一个值,但我找不到任何来源来证实这一点,所以我希望这里的人能帮助我,或者如果我错了,至少能给我指明正确的方向。我之所以相信这种情况,是因为如果我传递$field变量不止一个结果,它总是只返回第一个结果,如果是这种情况,如果有人能建议一种方法来获得所有结果,无论我何时尝试,这对我也很有帮助:

return $rs

它只是简单地返回"Array"。

(isset($rs[0][0]) ? $rs[0][0] : "");

这是一个三元运算符。它检查是否设置了$rs[0][0]。如果是,它将使函数返回$rs[0][0]的值,如果不是,它将返回一个空字符串。

你可以把它翻译成这样的if语句:

if (isset($rs[0][0])) {
    return $rs[0][0];
}
return "";

事实上,isset将检查的方法是值为null。

然后它只是一个三元运算符,如果变量不为空,则返回变量的值;如果var的值为空,返回空字符串。