php - 如何遍历关联数组并获取密钥?
我的关联数组:
$arr = array(
1 => "Value1",
2 => "Value2",
10 => "Value10"
);
使用以下代码,$arr填充$arr的值
foreach($arr as $v){
echo($v); // Value1, Value2, Value10
}
如何获得$arr的密钥呢?
foreach(.....){
echo($k); // 1, 2, 10
}
11个解决方案
273 votes
你可以做:
foreach ($arr as $key => $value) {
echo $key;
}
如PHP文档中所述。
codaddict answered 2019-05-19T16:23:47Z
59 votes
如果你使用array_keys(),PHP会给你一个只填充键的数组:
$keys = array_keys($arr);
foreach($keys as $key) {
echo($key);
}
或者,您可以这样做:
foreach($arr as $key => $value) {
echo($key);
}
Trevor Johns answered 2019-05-19T16:24:21Z
26 votes
没有人回答常规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
*/
MuhsinFatih answered 2019-05-19T16:24:55Z
10 votes
foreach($array as $k => $v)
其中$ k是关键,$ v是值
或者,如果您只需要键,请使用array_keys()
Htbaa answered 2019-05-19T16:25:28Z
7 votes
我使用以下循环从关联数组中获取键和值
foreach ($array as $key => $value)
{
echo "
$key = $value
";}
dmeehan answered 2019-05-19T16:25:55Z
4 votes
以下内容允许您同时获取键和值。
foreach ($arr as $key => $value)
{
echo($key);
}
Jeff Beck answered 2019-05-19T16:26:21Z
4 votes
虽然可以说不太明确,但这种方法的速度大约是3.5倍(至少在我用来测试的盒子上)
$foo = array(
1 => "Value1",
2 => "Value2",
10 => "Value10"
);
while($bar = each($foo)){
echo $bar[0] . " => " . $bar[1];
}
我想这是因为foreach在遍历它之前复制了整个数组。
nettux answered 2019-05-19T16:26:55Z
1 votes
使用$key => $val获取密钥:
$arr = array(
1 => "Value1",
2 => "Value2",
10 => "Value10",
);
foreach ($arr as $key => $val) {
print "$key\n";
}
?>
ℝaphink answered 2019-05-19T16:27:24Z
1 votes
$names = array("firstname"=>"maurice",
"lastname"=>"muteti",
"contact"=>"7844433339");
foreach ($names as $name => $value) {
echo $name." ".$value."";
}
print_r($names);
?>
maurice answered 2019-05-19T16:27:44Z
1 votes
哦,我在PHP手册中找到了它。
foreach ($array as $key => $value){
statement
}
当前元素的键将分配给每个循环上的变量$ key。
Robinicks answered 2019-05-19T16:28:19Z
0 votes
foreach($arr as $key=>$value){
echo($key); // key
}
Graviton answered 2019-05-19T16:28:38Z