返回数组函数的n值并在while循环PHP中列出

Wes*_*nal 1 php loops

我试图通过使用PHP函数显示国家列表.

这是我正在检索的数据库值.(裁剪)

在此输入图像描述

这是我正在检索数据的功能.

码:

public function get_countries() {

    $list_country = array();
    $query = $this->db->prepare("SELECT name FROM country");
    $query->execute();

    while($r = $query->fetch(PDO::FETCH_ASSOC)) {
        $list_country[] = $r['name'];
    }

    return $list_country;
}
Run Code Online (Sandbox Code Playgroud)

然后这是我回显所有数据的代码.

<?php
    while (list($country) = $general->get_countries()) {
        echo $country;
    }
?>
Run Code Online (Sandbox Code Playgroud)

不幸的是,它只是一遍又一遍地回响相同的值.

在此输入图像描述

对此有何解决方案?就像一遍又一遍地回复所有数据而不是相同的数据?

Don*_*sto 5

<?php
    $country_array = $general->get_countries();
    foreach ($country_array as $country) {
        echo $country;
    }
?>
Run Code Online (Sandbox Code Playgroud)

您不需要while()已经获取get_countries()功能的所有国家/地区.此外,list()只检索n数组元素,其中nlist()函数内部的变量数.

那么,为什么每次都获得相同的价值呢?

因为每次读取国家/地区内容时都会调用db函数,并且每次检索相同的值时(第一个)