【发布时间】:2017-05-28 12:06:56
【问题描述】:
我仍在学习 PHP,但我需要一种方法来跟踪两个关联值的列表,即电影院及其邮政编码。现在,在您进一步阅读之前,我必须强调我在技术上不需要解决这个问题,因为我已经用更有效的方法代替了它。我真的只是想知道为什么它不起作用,因为我在其他地方找不到任何关于它的信息。
$cinema_locations = array(
array("Odeon", "M4 2BS"),
array("Cineworld", "OL7 0PG"),
array("Vue", "M50 3AG"),
array("AMC", "M3 4EN")
);
for ($i=0; $i<count($cinema_locations); $i++) {
if ($cinema_locations[$i][0] == $_GET['cinema_name']) {
$postcode = $cinema_locations[$i][1];
return;
}
}
您可能从代码中可以看出,我正在尝试遍历主数组,以便将每个子数组的第一个值与$_GET 变量进行比较。我已经多次检查了这段代码,甚至还向我的一些其他程序员朋友展示了这些代码,但我们都找不到任何错误,无论是语法还是其他问题。然而,浏览器只显示一个白屏。如果有人能对这个问题有所了解,我和我的朋友们将不胜感激;谁知道呢,它可能会帮助其他人解决同样的问题。
对于任何可能好奇的人,我将二维数组替换为关联数组:
$cinema_locations = array(
"Odeon" => "M4 2BS",
"Cineworld" => "OL7 0PG",
"Vue" => "M50 3AG",
"AMC" => "M3 4EN"
);
$postcode = $cinema_locations[$_GET['cinema_name']];
编辑
感谢 rishi,做到了。我什至从未考虑过return 会使结果无效。使用 break 停止循环,页面的其余部分加载正常。
【问题讨论】:
-
好吧,如果这就是你的代码所做的一切(给 $postcode 赋值,然后返回 null),那么你显然会一无所获。你甚至应该用那个变量做什么?
-
使用in_array函数查找值
标签: php arrays loops multidimensional-array count