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

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

WBOY
풀어 주다: 2016-06-06 20:21:15
원래의
1566명이 탐색했습니다.

<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>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿