这是我的关联数组:
$vetor = array(
"Name"=> "myName",
"Tel"=> "555-2020",
"Age"=> "60",
"Gender"=> "Male"
);
如何使用循环for
显示三个元素?
我试过了:
for($i=0; $i<=2; $i++){
echo $vetor[$i]."<br>";
}
但没有成功。我怎么能这样做?
答案 0 :(得分:6)
您指的是错误的索引,因为要引用数组中的第一个元素,您必须执行以下操作:$ vetor [&#34; Name&#34;]而不是$ vetor [0]
$i = 0;
foreach($vetor as $key => $value){
if($i == 2){ break; }
echo $value;
$i++;
}
答案 1 :(得分:1)
foreach
更有意义,但如果你想出于某种原因使用for
,那么你所遇到的问题就是阵列没有与循环增量变量对应的顺序数字索引。但是还有其他方法可以在不知道索引是什么的情况下迭代前三个元素。
// this first step may not be necessary depending on what's happened to the the array so far
reset($vetor);
$times = min(3, count($vetor));
for ($i = 0; $i < $times; $i++) {
echo current($vetor).'<br>';
next($vetor);
}
如果next
将内部数组指针移到最后一个数组元素之外,current($vetor)
将返回false
,因此使用$times
设置min
的数量为array_values
你想要的时间和数组计数将阻止你循环比数组中的项更多次。
另一种方法是,如果您不关心密钥是什么,可以使用$vetor = array_values($vetor);
for ($i=0; $i < 3; $i++) {
echo $vetor[$i].'<br>';
}
将数组密钥转换为数字。
{{1}}