【发布时间】:2019-05-08 07:29:43
【问题描述】:
我有这几行:
$gifts_offered_in_sub = array();
$gifts_offered_in_final = array();
foreach($gifts_offered_in as $k=>$v) {
$s = sizeof($v);
foreach($v as $vk=>$vv) {
$vv[0] = $s;
}
$gifts_offered_in_final[] = $v;
}
var_dump($gifts_offered_in_final);
gifts_offered_in 数组包含一个如下所示的数组:
array(1) {
[0]=>
array(2) {
[220669]=>
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "1"
}
[220664]=>
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "1"
}
}
}
我想要实现的是检查数组中的每个元素(在这种情况下,只有 1 个元素 [0] 检查子数组是否包含超过 1 个值,如果是,则更改子数组的[0] 包含所有的大小,最后得到这个结果:
array(1) {
[0]=>
array(2) {
[220669]=>
array(2) {
[0]=>
string(1) "2"
[1]=>
string(1) "1"
}
[220664]=>
array(2) {
[0]=>
string(1) "2"
[1]=>
string(1) "1"
}
}
}
但它不起作用,var_dump 给了我完全相同的数组,就好像我没有更改循环中的任何值一样。知道我在代码中做错了什么吗?
【问题讨论】: