- <?php
- $arr = array(
- 0 => array(
- ‘id’ => 1,
- ‘name’ => ‘张三’,
- ),
- 1 => array(
- ‘id’ => 2,
- ‘name’ => ‘李四’,
- ),
- 2 => array(
- ‘id’ => 3,
- ‘name’ => ‘三’,
- ),
- 3 => array(
- ‘id’ => 4,
- ‘name’ => ‘四’,
- ),
- 4 => array(
- ‘id’ => 5,
- ‘name’ => ‘五’,
- ),
- 5 => array(
- ‘id’ => 6,
- ‘name’ => ‘六’,
- ),
- );
- print_r($arr);
- ?>
复制代码
上面数组,想实现每隔2个就把name的值替换成“小明”。
就是1的李四变成小明,3的四也变成小明,5的六也变成小明,其他不变,无论有多少一直替换下去。
可能数组有几千行,求php大佬教教怎么写。
澳门网友:if $i%2==1 $arr[$i][name]=’小明’
澳门网友:
- foreach ($arr as $k=>$arr) {
- if ($i%2==1){
- $arr[$i][‘name’]=’小明’;
- }
- }
复制代码能帮忙写完整点吗,我搞不出来
新疆网友: 弄个循环,当i除以2的余数是1的时候改名字,,,有啥难的
福建网友:所以我上面弄的不对么,一个试题
宁夏网友:你的$arr里面,第一个是(0,Array),所以你的$k=0,$arr={id:xx,name:xx}(再说大数组是叫arr里面也叫arr不怕)?
- foreach ($arr as $k=>$v) {
- if ($k%2) $v[‘name’]=’小明’;
- }
复制代码
你要清楚,你要操作谁,你弄出来的又是谁。
海南网友:你写的这个也能替换,我按照上面的提示把他替换了,但是不知道怎么输出原来的二维数组。
- for($i = 0 ; $i < 6 ; $i++){
- if ($i%2==1){
- $a[] = $arr[$i][‘name’]=’小明’;
- }
- }
- print_r($a);
复制代码
黑龙江网友:
- for($i = 0 ; $i < 6 ; $i++){
- if ($i%2==1){
- $a[] = $arr[$i][‘name’]=’小明’;
- }
- }
- print_r($a);
复制代码
我想输出原来的格式怎么弄,这样子出来的数组不是我要的了
未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » php给数组替换值的问题