我的关联数组:
$arr = array(
1 => "Value1",
2 => "Value2",
10 => "Value10"
);
使用以下代码,$v
将填充$arr
的值。 foreach ($arr as $v){
echo $v; // Value1, Value2, Value10
}
我该如何获取$arr
的键而不是值?
foreach (.....){
echo $k; // 1, 2, 10
}
我的关联数组:
$arr = array(
1 => "Value1",
2 => "Value2",
10 => "Value10"
);
使用以下代码,$v
将填充$arr
的值。 foreach ($arr as $v){
echo $v; // Value1, Value2, Value10
}
我该如何获取$arr
的键而不是值?
foreach (.....){
echo $k; // 1, 2, 10
}
如果你使用array_keys()
,PHP将返回一个仅包含键的数组:
$keys = array_keys($arr);
foreach ($keys as $key) {
echo $key;
}
或者,你也可以这样做:
foreach ($arr as $key => $value) {
echo $key;
}
没有人使用常规的for
循环进行回答吗?有时我发现它更易读,更喜欢使用for
而不是foreach
这里就是代码:
$array = array('key1' => 'value1', 'key2' => 'value2');
$keys = array_keys($array);
for($i=0; $i < count($keys); ++$i) {
echo $keys[$i] . ' ' . $array[$keys[$i]] . "\n";
}
/*
prints:
key1 value1
key2 value2
*/
foreach($array as $k => $v)
其中 $k 是键,$v 是值。
如果您只需要键,请使用 array_keys()。
foreach ($array as $key => $value)
{
echo "<p>$key = $value</p>";
}
foreach ($arr as $key => $value)
{
echo($key);
}
虽然可能不够清晰,但这种方法的速度大约快了大约3.5倍(至少在我测试时使用的计算机上是如此)。
$foo = array(
1 => "Value1",
2 => "Value2",
10 => "Value10"
);
while($bar = each($foo)){
echo $bar[0] . " => " . $bar[1];
}
foreach($arr as $key=>$value){
echo($key); // key
}
使用$key => $val
来获取键:
<?php
$arr = array(
1 => "Value1",
2 => "Value2",
10 => "Value10",
);
foreach ($arr as $key => $val) {
print "$key\n";
}
?>