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条经验 获得超5个赞
我更喜欢通过 foreach 循环遍历任何数组。如果您想从中获取任何特定内容,只需将其复制到 TMP 变量中即可。例如:
$tmp_var = null;
foreach($array as $key => $value){
$tmp_var = $value['name'];
}
TA贡献1725条经验 获得超7个赞
首先查找实际 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 关注
- 123 浏览
添加回答
举报