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