欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

遍历数组时如何优雅的修改键值

程序员文章站 2022-06-10 18:06:07
...
$start = 6;
$list = [
    '1楼', '2楼', '3楼', '4楼', '5楼',
];

如何在遍历的时候把数组中的键值加上$start的值

因为现在是ajax加载评论,所以传给前端的html代码中的楼层都是从1-5
我想 第二次请求的时候 楼层数是6、7、8、9、10

看了标签上的两个函数 只能对值做引用处理,不能对键引用。所以有没有其他可以处理的方法。在不用foreach的情况下。

PS: 我现在想到的是使用array_keys把所有的键取出来处理了以后,在和原数组进行合并

回复内容:

$start = 6;
$list = [
    '1楼', '2楼', '3楼', '4楼', '5楼',
];

如何在遍历的时候把数组中的键值加上$start的值

因为现在是ajax加载评论,所以传给前端的html代码中的楼层都是从1-5
我想 第二次请求的时候 楼层数是6、7、8、9、10

看了标签上的两个函数 只能对值做引用处理,不能对键引用。所以有没有其他可以处理的方法。在不用foreach的情况下。

PS: 我现在想到的是使用array_keys把所有的键取出来处理了以后,在和原数组进行合并

$list = array_flip( array_map(function($key) use ($start) { return $start + (int)$key; }, array_flip($list)) );

https://3v4l.org/O8rXf

$key_list = range($start, $start + count($list) - 1);
$list     = array_combine($key_list, $list);