是否有可能在php中的某個特定索引之後找到數組中的元素,任何幫助將不勝感激!通過手動索引從數組中搜索元素
-1
A
回答
0
你的問題相當模糊,所以答案取決於你的數據結構。如果你有一個普通的,索引陣列連續按鍵,你可以搜索你的數組的一個切片:
function array_search_from($needle, $haystack, $index_from)
{
$array_to_search = array_slice($haystack, $index_from);
$index = array_search($needle, $array_to_search);
if ($index === false)
{
return $index;
}
return $index + $index_from;
}
..或者你可以實現它作爲一個經常性的循環,以避免創建切片:
function array_search_from($needle, $haystack, $index_from)
{
$len = count($haystack);
for ($i = $index_from; $i < $len; $i++)
{
if ($haystack[$i] == $needle)
{
return $i;
}
}
return false;
}
要測試它按預期工作:
$array = array("one", "two", "three", "four", "one", "two");
var_dump(array_search_from("one", $array, 0));
var_dump(array_search_from("one", $array, 1));
var_dump(array_search_from("two", $array, 2));
int(0)
int(4)
int(5)
然後,您可以擴大到這個array_search_slice,而且可能添加好一點錯誤檢查(如array_search返回NULL如果無效參數的重新提供)。
爲了好玩,因爲PHP關聯數組也是序列,你也可以做同樣的關聯數組:
function array_search_from($needle, $haystack, $from)
{
$searching = false;
foreach ($haystack as $key => $value)
{
if ($key == $from)
{
$searching = true;
}
if ($searching && ($needle == $value))
{
return $key;
}
}
return false;
}
..和測試他們:在
$array = array("one" => "foo", "two" => "bar", "three" => "baz", "four" => "woo", "five" => "foo", "six" => "bar");
var_dump(array_search_from("foo", $array, "one"));
var_dump(array_search_from("foo", $array, "two"));
var_dump(array_search_from("bar", $array, "three"));
..結果:
string(3) "one"
string(4) "five"
string(3) "six"
..這可能不是那麼有用,但可以完成。因此,它已經完成。
+0
fiskfisk你是救命的人,處理你的代碼真棒! – 2013-02-27 06:41:00
相關問題
- 1. 通過1索引反覆移動數組中的元素
- 2. 如何在一個數組中搜索奇數索引元素
- 3. 搜索數組元素
- 4. 數組元素搜索
- 5. 在PostgreSQL中搜索嵌套JSONB數組元素的索引
- 6. 在numpy數組中搜索元素的索引
- 7. 通過指定索引從ArrayList中檢索元素
- 8. Python數組 - 索引元素
- 9. 通過php數組搜索
- 10. 如何通過索引獲取數組中的元素?
- 11. 通過數組的動態搜索
- 12. Java數組 - 搜索數組中的元素,然後找到索引
- 13. 通過Haskell中的索引號達到元組的元素
- 14. MongoDB數組索引搜索
- 15. 搜索數組中的元素
- 16. 搜索數組中的元素
- 17. 搜索對象數組中的元素
- 18. 數組中的搜索元素
- 19. 搜索在數組元素和MongoDB中
- 20. 手動搜索倒排索引
- 21. 搜索通過在貓鼬數組元素值對象
- 22. 紅寶石通過多維數組搜索並刪除元素
- 23. PHP返回關聯數組,通過多元素搜索?
- 24. 通過的數組索引
- 25. 使用Javascript/jQuery的從元素位/索引獲取的數組元素索引
- 26. 數組索引與數組元素
- 27. 通過索引從數組紅寶石
- 28. 通過Algolia的Laravel搜索框架發送數組索引
- 29. 通過索引向數組添加元素,增量?
- 30. 通過索引位置乘以數組元素
你能提供你所做的任何代碼嘗試嗎?也許澄清這個問題好一點? – christopher 2013-02-26 13:57:34
在提問時試着更具體。 – 2013-02-26 13:57:35
我很抱歉有任何問題,我是新來的堆棧溢出,我會盡快改進它。 – 2013-02-27 06:40:11