给你一个数组$array = array('a','D','z','t','R','I','f','Y','4','F','H','o','m','8','3','J','1','A','K','Q','v','S','7','r','W','O','b','w','y','C','5','G','e','h','j','X','V','B','Z','k','L','d','s','U','E','x','T','i','N','M','l','q','g','0','n','2','P','c','6','u','p','9');以数据表的自增id的值为条件向这个数组取6个值,获取6个数组下标规律如下:自增ID为1取数组的6个下标为[0,0,1,2,3,4],自增ID为2取数组的6个下标为[0,1,2,3,4,5],自增ID为61取数组的6个下标为[0,60,61,0,1,2],自增ID为62取数组的6个下标为[0,61,0,1,2,3],自增ID为63取数组的6个下标为[1,0,1,2,3,4],自增ID为64取数组的6个下标为[1,1,2,3,4,5],按照这个规律写一个php函数不能出现重复
时间: 2023-08-20 15:32:56 浏览: 102
JS中Array数组学习总结
可以使用以下代码实现:
```
function getArrayIndex($id) {
$array = array('a', 'D', 'z', 't', 'R', 'I', 'f', 'Y', '4', 'F', 'H', 'o', 'm', '8', '3', 'J', '1', 'A', 'K', 'Q', 'v', 'S', '7', 'r', 'W', 'O', 'b', 'w', 'y', 'C', '5', 'G', 'e', 'h', 'j', 'X', 'V', 'B', 'Z', 'k', 'L', 'd', 's', 'U', 'E', 'x', 'T', 'i', 'N', 'M', 'l', 'q', 'g', '0', 'n', '2', 'P', 'c', '6', 'u', 'p', '9');
$indexArr = array();
$id = $id - 1;
for ($i = 0; $i < 6; $i++) {
$index = ($id + $i) % count($array);
$indexArr[] = array_search($array[$index], $array);
}
return $indexArr;
}
```
这个函数接受一个自增ID作为参数,返回一个包含6个数组下标的数组。该函数首先定义了一个包含所有元素的数组,然后根据给定的自增ID计算出对应的6个下标。具体地,通过对给定ID进行取模运算,计算出初始下标,然后从该下标开始,按照题目中所给规律依次计算出6个下标。最后,使用`array_search`函数在原数组中查找对应元素的下标,并将它们保存在一个新的数组中返回。
阅读全文