这段代码实际上做了什么?

时间:2015-08-03 15:55:03

标签: php mysql arrays

我最近在一个办公室工作,他们在工作中使用了大量的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

它只返回“数组”。

2 个答案:

答案 0 :(得分:1)

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

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

您可以将其翻译为if语句:

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

答案 1 :(得分:1)

实际上方法isset将检查值是否为空。

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