3 回答

TA貢獻1772條經驗 獲得超8個贊
這個簡單的代碼將幫助您:
<?php
function next_elm ($array, $actualUrl) {
$i = 0;
while ( $i < count($array) && $array[$i]["url"] != $actualUrl ) $i++;
if ($i < (count($array) - 1)) {
return $array[$i+1];
} else if ($i == (count($array) - 1)) {
return $array[0]; // this is depend what you want to return if the url is the last element
} else {
return false; // there is no url match
}
}
function prev_elm ($array, $actualUrl) {
$i = 0;
while ( $i < count($array) && $array[$i]["url"] != $actualUrl ) $i++;
if ($i < (count($array)) && $i>0) {
return $array[$i-1];
} else if ($i == 0) {
return $array[count($array) - 1]; // this is depend what you want to return if the url is the first element
} else {
return false; // there is no url match
}
}

TA貢獻1993條經驗 獲得超6個贊
我更喜歡通過 foreach 循環(huán)遍歷任何數組。如果您想從中獲取任何特定內容,只需將其復制到 TMP 變量中即可。例如:
$tmp_var = null;
foreach($array as $key => $value){
$tmp_var = $value['name'];
}

TA貢獻1725條經驗 獲得超8個贊
首先查找實際 URL,然后使用此索引查找上一項和下一項。此外,您還應該添加檢查當前項目是第一個還是最后一個元素,以避免空指針異常。
$curr = 0;
foreach($array as $value){
if($value['url'] == 'www.name2.com'){
break;
}
$curr += 1;
}
$previous = $array[$curr-1];
$next = $array[$curr+1];
- 3 回答
- 0 關注
- 167 瀏覽
添加回答
舉報