我如何只使用for显示我的关联数组的三个元素?

时间:2016-05-12 15:06:09

标签: php

这是我的关联数组:

$vetor = array(
 "Name"=> "myName",
 "Tel"=> "555-2020",
 "Age"=> "60",
 "Gender"=> "Male"
);

如何使用循环for显示三个元素?

我试过了:

for($i=0; $i<=2; $i++){
 echo $vetor[$i]."<br>";            
}

但没有成功。我怎么能这样做?

2 个答案:

答案 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}}