我在数组上喜欢:
$myarray = array("color", "red", "size", "big", "flavor", "bitter");
其中颜色,大小和味道是键,另一个是值。我怎样才能在数组上循环真值。
我有一些像那样的数组,所以我只需要创建一个表并显示它们的值,如:
<table>
<thead>
<tr>
<th>Color</th>
<th>Size</th>
<th>Flavor</th>
</tr>
</thead>
<tbody>
// I'm stuck here because I don't know how to get the values of each array
</tbody>
</table>
任何帮助将不胜感激 感谢
答案 0 :(得分:3)
你的syntax有点偏;尝试像这样的数组:
$myarray=array(
'color'=>'red',
'size'=>'big',
'flavor'=>'bitter'
);
然后你可以抓住这样的值:
$color=$myarray['color'];
$size=$myarray['size'];
$flavor=$myarray['flavor'];
或者使用上面的数组,你可以做几个循环:
<table>
<thead>
<tr>
<?php
$keys=array_keys($myarray);
foreach($keys as $key) {
echo('<th>'.$key.'</th>');
}
?>
</tr>
</thead>
<tbody>
<tr>
<?php
foreach($myarray as $val) {
echo('<th>'.$val.'</th>');
}
?>
</tr>
</tbody>
</table>
array_keys() documentation 这是一个转换数组的简单函数;虽然有点粗糙,但它处理的一切都很好:
<?php
function addKey($arr) {
$newArr=array();
$key=null;
foreach($arr as $val) {
if(!$key) {
$key=$val;
} else {
$newArr[$key]=$val;
$key=null;
}
}
return($newArr);
}
$myarray=array('color','red','size','big','flavor','bitter');
$myNewArray=addKey($myarray);
?>
然后在使用中,例如:
<?php
foreach($myNewArray as $key=>$val) {
echo('<p>Key: '.$key.'<br />Value: '.$val.'</p>');
}
?>
将输出:
Key: color
Value: red
Key: size
Value: big
Key: flavor
Value: bitter
答案 1 :(得分:2)
while (list(, $key) = each($array)) {
$value = current($array);
next($array);
echo $key, ': ', $value, PHP_EOL;
}
但是,是的,你应该使用一个合适的关联数组而不是这个临时解决方案。
答案 2 :(得分:0)
您正在错误地定义数组。
$myarray=array(
'color'=>'red',
'size'=>'big',
'flavor'=>'bitter'
);
然后将它与foreach一起使用
foreach($myarray as $key => $value) {
echo $key; //echoes the indexes like color
echo $value; //echoes values like red
}