PHP Foreach问题

PHP Foreach问题,php,arrays,foreach,Php,Arrays,Foreach,所以我有一个数组$papers,它来自一个数据库。数组的大小可以根据更改数据库的人的意愿进行更改 我想如果我做了这样的事情: foreach($papers as $paper) { echo '<option value="' . $paper . '">' . $paper . '</option>'; } for($i = 0; $i < SOME_NUMBER; $i++) { echo '<option value="' . $pa

所以我有一个数组
$papers
,它来自一个数据库。数组的大小可以根据更改数据库的人的意愿进行更改

我想如果我做了这样的事情:

foreach($papers as $paper) {
    echo '<option value="' . $paper . '">' . $paper . '</option>';
}
for($i = 0; $i < SOME_NUMBER; $i++) {
    echo '<option value="' . $papers[$i] . '">' . $papers[$i] . '</option>';
}
foreach($paper作为$paper){
回音“.$paper.”;
}
我可以在表格中得到一个动态列表。然而,由于某种原因,当我尝试这一点时,网页只是一片空白。很明显,我可以做如下事情:

foreach($papers as $paper) {
    echo '<option value="' . $paper . '">' . $paper . '</option>';
}
for($i = 0; $i < SOME_NUMBER; $i++) {
    echo '<option value="' . $papers[$i] . '">' . $papers[$i] . '</option>';
}
($i=0;$i{ 回音“.$papers[$i]”; } 但由于数组的大小是可变的,所以这似乎不是一个可行的选择。
另外,当我使用简单for循环的第二种方法时,页面加载和值确实会出现。我很困惑为什么会这样。任何帮助都会很棒,谢谢。

如果您想使用数组引用方法,请尝试以下方法:

for($i = 0; $i < count($papers); $i++) {
    echo '<option value="' . $papers[$i] . '">' . $papers[$i] . '</option>';
}
for($i=0;$i

count()函数将返回数组的长度,正如您所说,数组的长度在每次运行时可能不同。

您可以像这样修改
foreach
循环

foreach($papers as $key => $value) {
    echo '<option value="' . $key . '">' . $value . '</option>';
}
foreach($papers as $paper) {
    echo '<option value="' . $paper['your_db_field_name'] . '">' . $paper['your_db_field_name'] . '</option>';
}
使用simple
for loop
可以像下面这样使用
sizeof()

for($i = 1 ; $i <= sizeof($pappers) ; $i++){
//your logic
}

对于($i=1;$i打开错误报告

error_reporting(E_ALL | E_STRICT);
init_set('display_errors', 'on');
并尝试使用以下工具进行调试:

print_r($papers);

然后查看数组$papers的结构

Do
print\r($papers)
,看看您得到了什么。选项1很好。print\r($papers);给您带来了什么?空白页意味着您需要打开错误报告。以下是一些可能有助于排序的事情。首先尝试计算$papers的回声计数($papers)中有多少结果“还echo”“;print_r($papers);echo”“;您的foreach应该可以正常工作。另外,
php-l filename.php
检查它是否存在解析错误。“网页显示为空”听起来好像您禁用了错误报告功能。您可以尝试
ini_set(“display_errors”,1);
请记住在完成解压缩后再次禁用它