如果我有以下数组:
$myArray = [1 => 'a', '2' => 'b', 3 => 'c'];
我的起始值为2;
我想说2 - 1 = 1所以给我这个数组的值a 但是如果2 - 2 = 3那么给我值c。
也就是说,算术应该限制在我的数组中的元素数量,超出数组索引的任何值都会回到数组的开头或结尾?
答案 0 :(得分:0)
编写一个函数来为您搜索正确的密钥。
例如,如果您的数组没有任何遗漏键:
<div id="result">
</div>
答案 1 :(得分:0)
这两种方式都有效,前进和后退。
function test($array, $key) {
if(is_array($array) && !empty($array)) {
if($key>count($array)) $key=$key%count($array);
if($key<1) $key=count($array)+$key%count($array);
return $array[$key];
}
}
$myArray = [1 => 'a', '2' => 'b', 3 => 'c'];
var_dump(test($myArray, -1)); // b
var_dump(test($myArray,2-2)); // c
var_dump(test($myArray, 1)); // a
var_dump(test($myArray, 6)); // c
var_dump(test($myArray, -62));// a
var_dump(test($myArray, 99));// c