我正在学习PHP基础知识,并且存在一个我无法理解的问题。
我正在尝试获取一些文章
$result = mysqli_query($link, 'SELECT id, title, url FROM articles');
while ($row = mysqli_fetch_array($result)) {
$articles[] = $row['title'];
}
我要输出标题
foreach ($articles as $a) {
echo $a['title'];
}
实际上它只是输出标题的第一个字母。我的头衔是"测试"和另外的测试"我只是看到" t"和" a"作为输出。
出了什么问题?
答案 0 :(得分:1)
你的代码错了,如果你想这样做,试试这个
foreach ($articles as $a) {
echo $a;
}
或者这个,结果是相同的
$result = mysqli_query($link, 'SELECT id, title, url FROM articles');
while ($row = mysqli_fetch_array($result)) {
$articles[] = $row;
}
在你的代码中,你在第一个代码中传递字符串,而在第二个代码中你要访问具有键标题的元素的数组,它将不起作用,因为它已经是一个字符串。
答案 1 :(得分:1)
那是因为你要存储元素' title'的值。在一个新的数组中。你可以做两件事:
$a
$row
存储在新数组中这意味着在你的while循环中,替换:
$articles[] = $row['title'];
通过
$articles[] = $row;
答案 2 :(得分:1)
第一次循环后,只需使用
echo "<pre>";
print_r($articles);
echo "</pre>";
然后使用
foreach($articles as $a) {
echo $a;
}