2013-03-20 87 views
-3

我翻譯一個Python代碼PHP,但我不知道如何在PHP中,這Python代碼的工作:陣列蟒蛇到PHP

dec = data_ar[4:len(data_ar)] 

我不知道什麼是結腸做「:」之間[]! 感謝

+1

Python代碼可以改進:' data_ar [4:]' – DaoWen 2013-03-20 21:35:09

+0

但是在php中沒有使用冒號。 – user2188438 2013-03-20 21:37:37

回答

0

結腸的意思是「」大多數語言。這意味着索引4的數組長度(結束)。

在PHP中,你可以使用array_slice這樣的:

$dec = array_slice($data_ar, 4) 
3

如果你想達到的精確PHP中的功能:

<?php 
$data_ar = array(1,2,3,4,5,6,7); 
$dec = array_slice($data_ar, 4, count($data_ar)-4); 

現在,這裏有趣的事情是len(data_ar)。如果您提供沒有第二個參數的冒號,則假定「直到結束」。所以這一塊的功能實際上應該已被寫入像這樣:

dec = data_ar[4:] 

同樣,我們可以修改的東西PHP側面反映了同樣簡單:

<?php 
$data_ar = array(1,2,3,4,5,6,7); 
$dec = array_slice($data_ar, 4); 
print_r($dec); // Returns array(5,6,7) 
+0

和他的Python例子一樣,沒有必要重新計算長度。 'array_slice'默認進入數組的末尾。 (查看文檔。) – DaoWen 2013-03-20 21:38:43

+0

非常感謝!它是搖滾! – user2188438 2013-03-20 21:40:00

+0

使用['print_r'] +1(http://www.php.net/manual/en/function.print-r.php)。瞭解該功能可能會幫助他進行很多調試。 – DaoWen 2013-03-20 21:42:01