2012-09-20 25 views
12

在其他編程語言中,數組的定義是可以容納類似元素的東西。例如,如果我聲明類似int i[]的東西,它將存儲整數,但在PHP中,一個數組似乎將字符串和數字放在一起。PHP數組可以保存不同類型的項目嗎?

將數字/整數作爲PHP中這種類型的數組中的字符串處理?

+0

相關http://technosophos.com/content/php-arrays-are-not-arrays –

+1

爲什麼不給它一個鏡頭,讓我們知道? :)(此外,看起來更像是一個SO問題,而不是P.SE問題) – haylem

回答

9

According to the PHP manual你的確可以存儲異構類型PHP的「陣」內 - 向下滾動到例如3

注意的是,即使例如約爲鍵是整數或字符串,在本例中指定的值也包括字符串和字符串,表明可以存儲異構類型。

請注意,在不同類型的鍵的情況下,會涉及自動投射,因此您可能會遇到令人驚訝的結果。一個字符串包含有效的十進制表示。

+1

你是對的,但問題是關於存儲不同類型的值,而不是鍵。不知道爲什麼這是downvoted。 – phant0m

+0

@ phant0m - 我完全錯過了這個例子的標題,我正在看那個例子的右邊。答覆澄清,謝謝。 –

2

在PHP數組中甚至不是數組,它們是有序的哈希表。

+0

有序的哈希表是關聯數組,因此PHP數組_are_數組。不知道數組的定義是什麼,但數組只能容納相同類型的項的限制是語言限制,而不是概念限制。 – yannis

+3

@YannisRizos我建議你閱讀這篇文章,看看爲什麼人們不認爲PHP數組爲真實數組http://technosophos.com/content/php-arrays-are-not-arrays它不僅是關於類型,它也是關於排序(不存在於PHP中) –

+0

不是數組的一種數據結構,其中所有值的大小相同,並且在內存中一個接一個地排序?你引用的內容聽起來像是字典/地圖。我所知道的唯一的事情是,關聯數組與真實數組具有共同之處,這是名稱的一部分。 –

0

你可以在數組中存儲任何你想要的東西。

在PHP的這種類型的數組中將數字/整數視爲字符串?

無法存儲它。但是,當您使用這樣的值時,PHP 轉換它。價值的使用決定了它的解釋。 (注意,密鑰在存儲時轉換,但是,如果它被認爲是數字的話)

1

不會把油放在PHP陣列的火上,這裏沒有數組...... 但是,可以將不同的變量類型字符串,int,...)一起放在一個名爲Array的PHP中。

相關問題