有沒有辦法從任何位置訪問多維數組?例如:多維數組
$arr = array (
1 => array (1, 'some-url-one', 'Some Title One'),
2 => array (2, 'some-url-two', 'Some Title Two'),
3 => array (2, 'some-url-three', 'Some Title Three'),
);
然後,如果我們有一個項目的ID,例如2,並希望得到該項目的冠軍,我們簡單地使用:
$title = $arr[2][2]; // which outputs Some Title Two
如果我們想要得到的同一項目的URL,我們簡單地使用:
$title = $arr[2][1]; // which outputs some-url-two
但如果我們有URL(有些-URL二),並希望得到該項目的ID或標題?
有2個義務:通過數組
1循環,並檢查該URL存在 2-得到id和標題
如何做到這一點的最好方法是什麼?我已經有3個數組:
1號到URL
2-網址爲ID
3- ID所有權
$id2url = array (
1 => 'some-url-one',
2 => 'some-url-two',
3 => 'some-url-three'
);
而且兩個人是相同的過程。所以我想通過組合3個數組來優化我的代碼。所以如何使用給定的url訪問id和標題?
謝謝。
和三人陣列如上所述? – medk
這不起作用,鍵只能是整數或字符串,但不能是數組。所以你需要一個數組作爲lookup-hash。這是多維數組的索引。 – hakre
這是一個普遍的搜索問題 - 標準的方法是建立一個倒排索引,這就是array_flip()在這裏所做的。如果數組相對較小,則可能不關心O(n)查找......否則,如果這是從數據庫中提取的數據,則可以在URL列中添加一個索引。 – fearlesstost