2014-07-04 100 views
-1

,我有以下從多維數組(爲簡單起見print_r()我沒有包括在陣列中的所有信息:PHP切片多維數組

的print_r()

Array (
[0] => Array (
    ... 
) 
[41] => Array (
    [name] => London 
    [company] => nhyt6t 
    [top25_1] => 8.75912088 
) 
[42] => Array (
    [name] => Manchester 
    [company] => gtr4rf 
    [top25_1] => 6.56758398 
) 
    ... 
[75] => Array (
    [name] => Leeds 
    [company] => de3wsd6 
    [top25_1] => 7.58675398 
) 
) 

我我試圖實現的是切片陣列,以便從陣列[41]向上獲得信息到一個新的陣列。

我知道我可以使用`array_slice()',但我的下面的代碼不起作用,我相信這是因爲我正在切片的數組是多維的,我無法弄清楚如何實現這一點。

非工作代碼

$array = array_slice($row, 40); 

任何和所有的反饋和建議歡迎。

+0

所以你想從41和以上? – Darren

+0

是的,這是正確的達倫。 –

+2

你的非工作代碼產生了什麼?這似乎很好 –

回答

1

你只需要檢查手冊上的PHP - >array_slice()

$array = array_slice($row, 40, (count($row) - 40)) 

你完全忘記提供我們開展從41 第n項目計數的第三個參數($length)到:) :)

Example

+0

第三個參數不是必需的。從手冊:「如果它被省略,那麼序列將包含從偏移量到數組末尾的所有內容。」 – FuzzyTree

+0

@FuzzyTree - 然而,你是正確的,因爲我不知道的原因 - 這工作,而我的代碼沒有。 –

+0

@FuzzyTree我意識到這一點,但正如你所看到的,它不適用於OP,所以我提供了另一種選擇:-) – Darren

0
<?php 
$result = array(); 
for($i=40;$i<count($row);$i++) 
{ 
    if(array_key_exists ($i,$row)) 
    { 
     $result[$i] = $row[$i]; 
    } 

} 
print_r($result); 
?>