【发布时间】:2016-10-31 03:03:31
【问题描述】:
我正在尝试定义一个函数,给定一个关联数组,该函数将回显键值对,给定该函数的参数。
到目前为止,我的代码如下所示。但是,该代码的结果将是键值对的完整列表(表)。我想要得到的只是一对(一旦调用函数)。
有人可以帮我吗?
谢谢!
enter code here
<!DOCTYPE html>
<html>
<head>
<body>
<h1>List of States</h1>
<?php
$states = array ("AL"=>"Alabama","AK"=>"Alaska","AZ"=>"Arizona","AR"=>"Arkansas","CA"=>"California","CO"=>"Colorado","CT"=>"Connecticut",
"DE"=>"Delaware","FL"=>"Florida","GA"=>"Georgia","HI"=>"Hawaii","ID"=>"Idaho","IL"=>"Illinois","IN"=>"Indiana","IA"=>"Iowa","KS"=>"Kansas",
"KY"=>"Kentucky");
function printState($Abbr) {
global $states;
echo "<table border=1>";
foreach($states as $Abbr => $value) {
echo "<tr>";
echo "<td>";
echo $Abbr;
echo "</td>";
echo "<td>";
echo $value;
echo "</td>";
echo "</tr>";
}
echo "</table>";
}
printState("CA");
?>
</body>
</html>
【问题讨论】:
-
echo $states[$Abbr];不够吗? -
所以您只想在每次调用函数时打印 1 个键/值对,或者您想获取传递给函数的键的特定值?
-
嘿。一旦调用该函数,我只想打印一对。意思是,如果我通过键“CA”,我想得到一个只有一行的表,其中包括键(CA)和州名(加利福尼亚州)。顺便说一句,我尝试回显 $states[$Abbr];,但我得到了完整的州列表。
-
@EmilioZaidman 根据您的代码,这不应该发生。如果您删除除数组之外的所有代码,并执行
echo $states["CA"];之类的操作,您应该会得到加利福尼亚(并且只有加利福尼亚)。 -
没错。我这样做并工作了。但我只得到价值,而不是关键。 Jamie 给我的代码(我不知道如何提及他)工作得很好。谢谢!
标签: php foreach associative-array