2012-07-26 29 views
1
數組的第3個值

假設我有看起來像這樣的獲取在PHP

array ([apple] => 1, [dog]=>2, [cat]=>5, [bread]=>9, [shoes]=> 4) 

陣列是否有可能爲我打印數組的第3個值?如果是這樣,怎麼樣?有任何想法嗎?

回答

4
$firstThreeElements = array_slice($array, 0, 3); 

其中0是您的偏移量,3是您想要的元素數量。

+2

那真的沒有回答這個問題.. – Ben 2012-07-26 02:38:34

+1

@Ben,爲什麼不呢?他的難處在於讓陣列的前三個元素不在印刷中? – Mekswoll 2012-07-26 02:40:26

6

有很多方法。

list($first, $second, $third) = $array; 
echo $first . ' ' . $second . ' ' . $third; 

或者:

echo array_shift($array); 
echo array_shift($array); 
echo array_shift($array); 

或者:

$i = 0; 
foreach($array as $el) { 
    if($i >= 3) break; 
    echo $el; 
    $i++; 
} 

或者:

foreach(array_slice($array, 0, 3) as $el) { 
    echo $el; 
} 

或者:

echo implode(' ', array_slice($array, 0, 3)); 
+0

無需人工索引計數...'的foreach($數組作爲$ I => $ EL)' – Ben 2012-07-26 02:34:38

+0

@Ben - '$ i'將包含關鍵,這是一個關聯數組。 – nickb 2012-07-26 02:35:53

+0

啊,我的不好,我完全看過它:) – Ben 2012-07-26 02:36:31

2

使用迭代器:

$array = ['apple' => 1, 'dog' => 2, 'cat' => 5, 'bread' => 9, 'shoes' => 4]; 

foreach (new LimitIterator(new ArrayIterator($array), 0, 3) as $key => $val) 
{ 
    echo "$key => $val\n"; 
}