30
A
回答
21
PHP的唯一真正構建在數據結構中的人們用於一切的就是數組。
PHP中的數組都是散列表,可以有數字或字符串索引,可以包含任何東西(通常是更多的數組)。
有幾個像元組一樣工作的數組結構。
見
http://us1.php.net/manual/en/language.types.array.php
列表是從函數返回多個值非常方便。在PHP
23
陣列可用於非常像一個元組:
// one dimensional mixed data
$x = array(1, 2, "hello");
// multidimensional third element
$y = array(1, 2, array(3, 4, 5));
// assigning to variables (list unpacking)
list($a, $b, $c) = $x; //$a is 1, $b is 2, $c is "hello"
唯一的問題不同的是,你怎麼也得保持一遍又一遍打字array
。不如元組漂亮。
更新 - 自PHP 5.4起,您可以將array()
替換爲方括號[]
。以上的例子可以看看現在這個樣子:
// one dimensional mixed data
$x = [1, 2, "hello"];
// multidimensional third element
$y = [1, 2, [3, 4, 5]];
+12
不符合「[]」的新PHP語法 – CMCDragonkai
3
從https://coderwall.com/p/bah4oq:
function foo()
{
return array('foo', 'bar');
}
list($a, $b) = foo();
可以傳遞對象的數組中使用就像一個元組。您還可以一次存儲數組中的異構類型,這非常類似於元組的功能。
1
以前的答案是正確的,因爲您可以模擬PHP數組的元組,但僅限於有限的意義,並非所有用例。當你想使用元組作爲地圖的關鍵字時,這很明顯。例如。實現狀態機的時候,你的轉換表的鍵是元組:
(currState, Event) -> newState
如果我們在PHP適當的元組的支持,我們可以做這樣的事情:
$trTable = [
['currState', 'fooEvent'] => 'fooState',
['currState', 'barEvent'] => 'barState',
...
];
相反,我們必須進行模擬像這樣:
$trTable = [
'currState' => [
'fooEvent' => 'fooState',
'barEvent' => 'barState',
],
...
];
兩者都達到相同的結果,但第一個有明確的語義。
相關問題
- 1. 是否有本地按鈕組元素?
- 2. 檢查數組是否有空元素
- 3. 是否有PHP
- 4. PHP中是否有將從數組中移除空單元的函數?
- 5. PHP中是否有線程?
- 6. 確定PHP函數是否爲數組中的所有元素爲空
- 7. 僞元素中是否有僞元素?
- 8. PHP測試日期是否是數組的第一個元素
- 9. 是否有反正在PHP中縮短這個三元語句?
- 10. 如何檢查元組是否具有元素?
- 11. Scala是否具有0元和1元組的語法?
- 12. 數組是否有一個元素等於元素?
- 13. 檢查numpy數組中的所有元素是否匹配
- 14. 是否有可能將元組賦值給Scala中的變量?
- 15. 檢查數組中是否有任何重複元素遞歸
- 16. CQL3 SELECT ... IN子句中的元組數量是否有限制?
- 17. System.Linq.Enumerable.Reverse是否將所有元素內部複製到數組中?
- 18. 查找一組元素中是否有任何類的成員
- 19. jQuery - 檢查元素是否有數組中的類?
- 20. 在JavaScript中默認數組元素是否有名稱?
- 21. 如何檢查數組中的所有元素是否爲空
- 22. Ruby - 數組A是否包含數組B的所有元素
- 23. 是否有可能訪問相同的數組中的鍵 - PHP?
- 24. 是否有可能在PHP中轉換爲布爾數組?
- 25. PHP是否具有聚合數組中時間值的功能?
- 26. 在mysql中存儲php數組是否有序?
- 27. 是否有可能在PHP中更改數組值的類型?
- 28. 如何確定PHP中是否有數組或對象?
- 29. 檢查數組中是否有某個鍵php
- 30. 確定是否所有元素的數組是素數
是的,數組基本上是元組。你甚至可以使用'list($ var1,$ var2)= $ someArray;'這將初始化$ var1和$ var2 – Daniel
我想這就是它:)謝謝。 – brian