我正在从Project Euler休息一下,学习一些PHP / HTML的踢腿和咯咯笑声,我找到了一页简单的练习。因此,在我的“网站上”,我希望有一个有序列表链接到每个练习的页面,但我决定以动态的方式进行,而不是像我一样练习对每个项目进行硬编码。不幸的是,应该包含列表的页面根本不会呈现!
假设我的系统上有文件名为“exawk#.php”,这段代码还有什么问题?对不起,如果它是草率或可怕的,它实际上是我的网络编程的第一天。
<html>
<head>
<title> Awaken's Exercises </title>
</head>
<body>
<h1>This page contains "Awaken's Exercises" from
<a href="http://forums.digitalpoint.com/showthread.php?t=642480">
this page</a>.</h1>
<ol>
<?php
$arex = glob("exawk*.php"); // $arex contains
//an array of matching files
$numex = 0;
$i = 0;
foreach( $arex )
{
$numex++;
}
while( $numex >= 0 )
{
echo "<li><a href=" .$arex[$i].
">Problem #" .$numex. ".</a></li>";
$numex--;
$i++;
}
?>
</ol>
</body>
</html>
答案 0 :(得分:1)
在php.ini中启用display_errors
:foreach( $arex )
语法错误(缺少.. as $varname
)。
从命令行,您可以使用php -l /path/to/your/file.php
进行检查。
此外,此示例:
//an array of matching files
$numex = 0;
foreach( $arex as $youdontdoanythingwiththis)
{
$numex++;
}
可能是:
$numex = count($arex);
改善整个事情:
while( $numex >= 0 )
{ ...etc
可能是:
$num = 1;
foreach($arex as $file){
echo '<li><a href="'.$file.'">Problem #'.$num.'</a></li>';
$num++;
}