这个问题相当简单,但很难完全解释。我正在从数据库中提取数据“url”和“section”。'section' 值是一个整数。我将所有这些数据拉到另一个数组中以显示到另一个页面上。(这是一个站点地图生成器)
<?php
$query = "SELECT url, section FROM table WHERE section <= 3";
$result = db_query($query, $dbh);
$dynamic_urls = array();
while ($row = db_fetch_array($result))
{
$dynamic_urls[] = "http://example.com/" . checkSection() . $row['url'];
}
function checkSection(){
if ($row['section'] == 1)
{
return "web/";
}
elseif ($row['section'] == 2)
{
return "email/";
}
elseif ($row['section'] == 3){
return "print/";
}
return "FAILED/";
}
?>
我认为问题在于 checkSection() 方法无法将数组值 $row['section'] 与整数 (1, 2, 3) 进行比较,如图所示。输出文件只是循环遍历数组 $dynamic_urls 并将它们打印到页面上,这里是一些示例输出:
http://example.com/FAILED/example_permalink1
http://example.com/FAILED/example_permalink2
http://example.com/FAILED/example_permalink3
http://example.com/FAILED/example_permalink4
我需要那些“失败”输出成为我正在寻找的相关“网络/”、“电子邮件/”或“打印/”标题。
为什么我的 if 语句无法将 $row['section_id'] 与整数进行比较?