Rumah >pembangunan bahagian belakang >tutorial php >遍历数组时如何优雅的修改键值

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

WBOY
WBOYasal
2016-06-06 20:21:151563semak imbas

<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>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn