如何在php中更改关联数组值
这是数组,我想得到这样的结果。数组有一个子数组,需要更改子数组的值如何在php中更改关联数组值,php,arrays,Php,Arrays,这是数组,我想得到这样的结果。数组有一个子数组,需要更改子数组的值 $arr = array( 0 => array( 0 => 'one', 1 => 'two', 2 => 'three' ), 1 => array( 0 => 'sun', 1 => 'mon', 2 => 'tues' ), 2 =&g
$arr = array(
0 => array(
0 => 'one',
1 => 'two',
2 => 'three'
),
1 => array(
0 => 'sun',
1 => 'mon',
2 => 'tues'
),
2 => array(
0 => 'jan',
1 => 'feb',
2 => 'march'
)
);
请给我提供解决方案。提前谢谢 要更改子数组项的值,只需添加另一个[]部分:
$arr[0][1]='sun'代码>要更改子数组项的值,只需添加另一个[]部分:
$arr[0][1]='sun'代码>我以递归的方式创建了它
$arr = array(
0 => array(
0 => 'one',
1 => 'sun',
2 => 'jan'
),
1 => array(
0 => 'two',
1 => 'mon',
2 => 'feb'
),
2 => array(
0 => 'three',
1 => 'tues',
2 => 'march'
)
);
你可以在这里检查它我是用递归的方式做的
$arr = array(
0 => array(
0 => 'one',
1 => 'sun',
2 => 'jan'
),
1 => array(
0 => 'two',
1 => 'mon',
2 => 'feb'
),
2 => array(
0 => 'three',
1 => 'tues',
2 => 'march'
)
);
您可以在此处检查它尝试使用此循环来处理您的需求
输出
数组([0]=>数组([0]=>一[1]=>太阳[2]=>一月[1]=>数组([0]=>两[1]=>周一[2]=>二月[2]=>数组([0]=>三[1]=>周二[2]=>三月))
代码
$arr = array(
0 => array(
0 => 'one',
1 => 'two',
2 => 'three'
),
1 => array(
0 => 'sun',
1 => 'mon',
2 => 'tues'
),
2 => array(
0 => 'jan',
1 => 'feb',
2 => 'march'
)
);
$new_arr = array();
$nb = count($arr);
$i = 0;
while($nb > 0){
$nb--;
$val1 = $arr[0][$i];
$val2 = $arr[1][$i];
$val3 = $arr[2][$i];
$new_array[] = array($val1, $val2, $val3);
$i++;
}
print_r($new_array);
尝试使用此循环来处理您的需求
输出
数组([0]=>数组([0]=>一[1]=>太阳[2]=>一月[1]=>数组([0]=>两[1]=>周一[2]=>二月[2]=>数组([0]=>三[1]=>周二[2]=>三月))
代码
$arr = array(
0 => array(
0 => 'one',
1 => 'two',
2 => 'three'
),
1 => array(
0 => 'sun',
1 => 'mon',
2 => 'tues'
),
2 => array(
0 => 'jan',
1 => 'feb',
2 => 'march'
)
);
$new_arr = array();
$nb = count($arr);
$i = 0;
while($nb > 0){
$nb--;
$val1 = $arr[0][$i];
$val2 = $arr[1][$i];
$val3 = $arr[2][$i];
$new_array[] = array($val1, $val2, $val3);
$i++;
}
print_r($new_array);
您可以使用带有null的数组映射函数作为回调函数
<?php
$arr = array(
0 => array(
0 => 'one',
1 => 'two',
2 => 'three'
),
1 => array(
0 => 'sun',
1 => 'mon',
2 => 'tues'
),
2 => array(
0 => 'jan',
1 => 'feb',
2 => 'march'
)
);
$newarray = [];
$length = count($arr[0]);
foreach ($arr as $key => $value) {
for ($i=0; $i < $length; $i++) {
$newarray[$i][$key] = $value[$i];
}
//break;
}
print_r($newarray);
可以使用带有null的数组映射函数作为回调函数
<?php
$arr = array(
0 => array(
0 => 'one',
1 => 'two',
2 => 'three'
),
1 => array(
0 => 'sun',
1 => 'mon',
2 => 'tues'
),
2 => array(
0 => 'jan',
1 => 'feb',
2 => 'march'
)
);
$newarray = [];
$length = count($arr[0]);
foreach ($arr as $key => $value) {
for ($i=0; $i < $length; $i++) {
$newarray[$i][$key] = $value[$i];
}
//break;
}
print_r($newarray);
向您好。您是想只针对这种特定情况还是您的阵列是动态的?@billyonecan对该解决方案印象深刻。你能解释一下吗?打个招呼。你是想只针对这种特定情况还是你的阵列是动态的?@billyonecan对这个解决方案印象深刻。你能解释一下吗?