>백엔드 개발 >PHP 튜토리얼 >遍历数组时如何优雅的修改键值

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-06 20:21:151608검색

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

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

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

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

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

回复内容:

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

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

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

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

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

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

https://3v4l.org/O8rXf

<code class="PHP">$key_list = range($start, $start + count($list) - 1);
$list     = array_combine($key_list, $list);</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.