在另一个页面中使用标题中的数组


Using array from header in another page

好的,所以我的标题中有一个数组"$landing".php,然后在我的页面中.php我包含标题.php但由于某种原因,当我在页面的数组中调用"名称"字段时.php: echo $landing['Name'];它只是不起作用。

这就是数组的填充方式,并且在标头中调用它非常有效。

$landing = array();
while ($row = mysql_fetch_array($result)) {
   $str = strtolower($row['Name']);
   if ($str == $name) {
       $landing = $row;
   }
}

澄清一下,$row和$landing都是数组,并且都有多个字段"名称"颜色"信息"。

我在这里做错了什么?我需要以某种方式使其全球化还是正在发生的事情?

原始代码以某种方式工作,现在正如 OP 在评论中所说。

但我的旧提示仍然适用:

  • 考虑使用 MySQLi 或 PDO 而不是已弃用的 MySQL 扩展!
  • 为什么要在客户端比较数据集的列值?你可以在MySQL端做到这一点,它会更快!

正如 ComFreek 正确指出的那样,您正在将$landing变成一个字符串。相反,如果您尝试将条目添加到登陆数组,请使用 [] 括号,表示"添加到新条目"。

$landing = array();    
while ($row = mysqli_fetch_array($result)) {
   $str = strtolower($row['Name']);
   if ($str == $name) {
       $landing[] = $row;
   }
}

我无法评论 LS97 帖子,无论如何你想使用 $landing["名称"] 您将 LS97 代码编辑成这样:

$landing = array();    
while ($row = mysqli_fetch_array($result)) {
   $str = strtolower($row['Name']);
   if ($str == $name) {
       $landing["name"] = $row;
   }
}

如果要使用多个名称,LS97 代码就可以了。

问题是他们说了什么。(使用 $landing = $row,着陆将是一个字符串。