这是关于数组以及如何循环它们的问题。
我有这两个数组:
$arrayHeaders = array ('ID', 'DATE', 'NAME', 'STUDIES');
$arrayInformation = array (array('30540000000', '1998/05/05','Dave Mars','Philology'),
array('30430000000', '2003/07/07','Sarah Scuassi','Translation'));
我需要循环它们才能打印出这样的东西:
echo "<".$header.">".$info."</".$header."><br>";
我该怎么做?请注意,$ arrayInformation可能包含比两个更多的子数组。
非常感谢
答案 0 :(得分:1)
您需要做的就是嵌套两个foreach循环:
foreach ($arrayInformation as $values) {
foreach ($values as $key => $value) {
if (isset($arrayHeaders[$key])) {
$tag = $arrayHeaders[$key];
} else {
$tag = '?';
}
printf('<%s>%s</%s>', $tag, $value, $tag);
}
}
看到它正常工作here。 (您需要检查源代码...&#34;标记&#34;不要正确显示。)
如果$arrayHeaders
包含的条目太少,则缺少字段的输出将为<?>foo</?>
。
答案 1 :(得分:1)
<?php
$arrayHeaders = array ('ID', 'DATE', 'NAME', 'STUDIES');
$arrayInformation = array (array('30540000000', '1998/05/05','Dave Mars','English Philology'),
array('30430000000', '2003/07/07','Sarah Scuassi','Translation and Interpretation'));
foreach($arrayInformation as $data) {
for($i = 0; $i < 4; $i++) {
echo "<".$arrayHeaders[$i].">".$data[$i]."</".$arrayHeaders[$i]."><br/>";
}
echo "<br/>";
}
答案 2 :(得分:0)
foreach($arrayHeaders as $header) {
foreach($arrayInformation as $info) {
echo "<".$header['ID'].">".$info[0]."</".$header['ID']."/>";
echo "<".$header['DATE'].">".$info[1]."</".$header['DATE']."/>";
echo "<".$header['NAME'].">".$info[2]."</".$header['NAME']."/>";
echo "<".$header['STUDIES'].">".$info[3]."</".$header['STUDIES']."/>";
}
}