如何从另一个函数内部使用一个函数中的数组

安迪·福尔摩斯(Andy Holmes)

我是OOP和PDO领域的新手,在一个函数中返回数据并希望在另一个函数中使用数据时,只需要一点帮助。

下面是我从数据库中获取所有壁虎数据的函数,此刻我将其打印出数组,因此我知道它正在工作。

函数getGecko:

public function getGecko($geckoName){
    $dbh = $this->dbh;
    try {
        if (!$geckoName) {
            throw new Exception("No gecko name set!");
        }
        $stmt = $dbh->query("SELECT * FROM geckos WHERE gecko_name = '$geckoName'");
        $stmt->setFetchMode(PDO::FETCH_ASSOC);  
        $row_count = $stmt->rowCount();  
        $row = $stmt->fetch();

        if($row_count > 0){
            print_r($row);
            return true;
        } else {
            echo 'No information found for '.$geckoName.'!';
            return false;
        }
    }
    catch (Exception $e) {
        echo $e->getMessage();
    }
}

输出为Array ( [gecko_id] => 1 [gecko_name] => Zilly [gecko_aquisition_date] => 0000-00-00 [gecko_type] => Normal [gecko_gender] => Male [gecko_traits] => [gecko_bio] => Hench bastard [gecko_health_check] => All good! [gecko_bred] => 0 [gecko_hatchling] => 0 [gecko_clutch] => [gecko_photo] => )--没问题。

但是我想在名为getMorph的函数中使用该数据[gecko_type] => Normal我已经尝试过类似的事情:

public function getMorph($geckoName){
    $this->getGecko($geckoName);
    echo $row['gecko_type'];
}

但是它什么也没有返回。我已经很习惯于过程意义上的php了,我只是想改善自己和我的代码,并想陷入OOP中。如果这被认为是“菜鸟”问题,我确实表示歉意,但正如我所说,我正在尝试学习。

感谢您的时间 :)

阿马尔·穆拉利(Amal Murali)

第一个函数的问题是您要返回一个布尔值。没有实际的数据返回。另外,在getMorph()函数中,您尝试使用$row变量。由于$row变量仅存在于函数的局部作用域内,因此无法使用getGecko()这实际上将导致PHP打印一条错误消息。如果您启用了错误报告功能,您将发现这一点。

要解决此问题,您可以修改第一个函数以返回数组:

    if($row_count > 0){
        // print_r($row);
        return $row;
    } else {
        echo 'No information found for '.$geckoName.'!';
        return false;
    }

然后,在第二个函数中,您可以像这样访问数组:

public function getMorph($geckoName){

    // $morph now contains the entire array 
    // returned by the other function
    $row = $this->getGecko($geckoName);

    // output the array contents
    echo '<pre>' . print_r($row, TRUE), '</pre>';

    // return the specific gecko_type value
    return $row['gecko_type'];
}

我建议您阅读有关可变范围的内容这将非常有用。另外,与上述问题完全无关,您将用户输入直接插入SQL查询中。不要那样做!改用参数化查询-这样,您就可以避免SQL注入攻击

以下问题对此主题有更多详细信息:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何调用另一个函数内部的函数?

来自分类Dev

如何在另一个函数中的一个函数中使用值

来自分类Dev

如何在python中的另一个函数中使用一个函数

来自分类Dev

如何通过另一个异步函数内部的异步函数遍历数组?

来自分类Dev

如何从另一个函数内部调用一个函数?

来自分类Dev

从Java中的另一个函数内部返回一个函数

来自分类Dev

在另一个函数中访问一个函数内部的Python变量

来自分类Dev

在另一个内部使用$ routeProvider resolve函数

来自分类Dev

如何调用JavaScript中另一个函数内部的函数

来自分类Dev

如何使用函数的参数作为函数内部另一个对象的对象?

来自分类Dev

如何访问一个函数在另一个函数中定义和声明的数组?

来自分类Dev

另一个函数内部的C ++调用函数

来自分类Dev

从另一个函数内部调用php函数

来自分类Dev

从另一个函数更改函数内部的常量

来自分类Dev

在具有来自另一个文件的内部数组的函数中未定义

来自分类Dev

如何在JavaScript中的另一个函数中调用一个函数

来自分类Dev

如何从另一个内部函数调用一个方法

来自分类Dev

使用Python在另一个函数中使用一个函数中的变量

来自分类Dev

如何将函数输出插入到另一个函数的数组中

来自分类Dev

如何在VBA中的另一个函数内调用一个函数?

来自分类Dev

如何用Go语言在另一个函数中调用一个函数?

来自分类Dev

如何在另一个函数中返回一个函数

来自分类Dev

如何用另一个函数覆盖NgOnit中的一个函数?

来自分类Dev

Python:如何在另一个函数中包含一个函数?

来自分类Dev

如何从Jquery中的另一个函数调用一个函数

来自分类Dev

如何从另一个函数中的一个函数获取返回变量

来自分类Dev

如何在另一个函数中调用一个函数

来自分类Dev

如何在另一个函数中调用一个reduce函数

来自分类Dev

在函数中创建数组,并在另一个函数中使用它

Related 相关文章

  1. 1

    如何调用另一个函数内部的函数?

  2. 2

    如何在另一个函数中的一个函数中使用值

  3. 3

    如何在python中的另一个函数中使用一个函数

  4. 4

    如何通过另一个异步函数内部的异步函数遍历数组?

  5. 5

    如何从另一个函数内部调用一个函数?

  6. 6

    从Java中的另一个函数内部返回一个函数

  7. 7

    在另一个函数中访问一个函数内部的Python变量

  8. 8

    在另一个内部使用$ routeProvider resolve函数

  9. 9

    如何调用JavaScript中另一个函数内部的函数

  10. 10

    如何使用函数的参数作为函数内部另一个对象的对象?

  11. 11

    如何访问一个函数在另一个函数中定义和声明的数组?

  12. 12

    另一个函数内部的C ++调用函数

  13. 13

    从另一个函数内部调用php函数

  14. 14

    从另一个函数更改函数内部的常量

  15. 15

    在具有来自另一个文件的内部数组的函数中未定义

  16. 16

    如何在JavaScript中的另一个函数中调用一个函数

  17. 17

    如何从另一个内部函数调用一个方法

  18. 18

    使用Python在另一个函数中使用一个函数中的变量

  19. 19

    如何将函数输出插入到另一个函数的数组中

  20. 20

    如何在VBA中的另一个函数内调用一个函数?

  21. 21

    如何用Go语言在另一个函数中调用一个函数?

  22. 22

    如何在另一个函数中返回一个函数

  23. 23

    如何用另一个函数覆盖NgOnit中的一个函数?

  24. 24

    Python:如何在另一个函数中包含一个函数?

  25. 25

    如何从Jquery中的另一个函数调用一个函数

  26. 26

    如何从另一个函数中的一个函数获取返回变量

  27. 27

    如何在另一个函数中调用一个函数

  28. 28

    如何在另一个函数中调用一个reduce函数

  29. 29

    在函数中创建数组,并在另一个函数中使用它

热门标签

归档