【问题标题】:What is the correct syntax when using foreach and mysqli_fetch_all使用 foreach 和 mysqli_fetch_all 时的正确语法是什么
【发布时间】:2019-04-16 20:19:13
【问题描述】:

作为另一个问题的一部分,我需要使用mysqli_fetch_all(我被告知会创建一个数组)。我以前从未使用过,在网上找不到我能理解的解决方案。我试图让它列出我用mysqli_fetch_all 创建的数组的键和值。一旦我可以列出它们,我就可以访问它们并将它们用作更复杂代码的一部分。我可以打印数组,但无法获取 foreach 中的键或值,所以除非有两种不同类型的数组,否则这似乎很棘手。

$q5 = 'SELECT * FROM cities ORDER BY cityname';
$mytable5 = mysqli_query($conned, $q5);
$row5 = mysqli_fetch_all($mytable5, MYSQLI_ASSOC);
print_r($row5);
echo "<br><br>";
foreach ($row5 as $key => $value) {
    print "Key = " . $key . ". Value = " . $value . ".<br><br>";
}

这是输出:

数组 ( [0] => 数组 ( [countryid4city] => 44 [cityname] => Chelsea ) [1] => 数组 ( [countryid4city] => 44 [cityname] => Clapham ) [2] => Array ( [countryid4city] => 46 [cityname] => Lidingö ) [3] => Array ( [countryid4city] => 44 [cityname] => London ) [4] => Array ( [countryid4city] => 1 [cityname ] => New York ) [5] => Array ( [countryid4city] => 1 [cityname] => San Francisco ) [6] => Array ( [countryid4city] => 46 [cityname] => Stockholm ) )

键 = 0。值 = 数组。

键 = 1。值 = 数组。

键 = 2。值 = 数组。

键 = 3。值 = 数组。

键 = 4。值 = 数组。

键 = 5。值 = 数组。

键 = 6。值 = 数组。

【问题讨论】:

  • 数组的维数越多,您必须使用的每个循环就越多,理想情况下,您将在数组中有一个级别,即一维数组。您正在做的是正确的一步,但朝着错误的方向迈出了正确的一步,请尝试调整您的代码,以便在您的数据库中获取并存储一维数组

标签: php mysqli foreach fetchall


【解决方案1】:

mysqli_fetch_all 返回一个数组数组。您需要另一个循环来迭代二维。

$q5 = 'SELECT * FROM cities ORDER BY cityname';
$mytable5 = mysqli_query($conned, $q5);
$results = mysqli_fetch_all($mytable5, MYSQLI_ASSOC);
echo "<br><br>";
foreach ($results as $row5) {
    foreach ($row5 as $key => $value) {
        print "Key = " . $key . ". Value = " . $value . ".<br><br>";
    }
}

【讨论】:

    猜你喜欢
    • 2013-11-21
    • 1970-01-01
    • 2014-04-19
    • 2018-11-14
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    相关资源
    最近更新 更多