【发布时间】:2016-07-24 03:15:58
【问题描述】:
我有一个数组$d_visitors = array_count_values($d_visitors);
array:7 [▼
2 => 4
5 => 1
8 => 2
3 => 1
1 => 2
9 => 3
0 => 2
]
我正在尝试遍历该数组 24 次,并检查键是否匹配,并存储它的值。
$dv = [];
for ($i = 0; $i < 24; $i++){
foreach ($d_visitors as $k =>$v) {
if($i == $k ){
$dv[$i] = $v;
}else{
$dv[$i] = 0;
}
}
}
我正在尝试打印出这样的内容:
array:24 [▼
0 => 2
1 => 2
2 => 4
3 => 1
4 => 0
5 => 1
6 => 0
7 => 0
8 => 2
9 => 3
10 => 0
11 => 0
12 => 0
13 => 0
14 => 0
15 => 0
16 => 0
17 => 0
18 => 0
19 => 0
20 => 0
21 => 0
22 => 0
23 => 0
]
但我一直得到这个:
array:24 [▼
0 => 2
1 => 0
2 => 0
3 => 0
4 => 0
5 => 0
6 => 0
7 => 0
8 => 0
9 => 0
10 => 0
11 => 0
12 => 0
13 => 0
14 => 0
15 => 0
16 => 0
17 => 0
18 => 0
19 => 0
20 => 0
21 => 0
22 => 0
23 => 0
]
【问题讨论】:
-
不需要放置else部分。
-
@Yash :通过删除它,我得到了这个
array:7 [▼ 0 => 2 1 => 2 2 => 4 3 => 1 5 => 1 8 => 2 9 => 3 ]我的目标是得到其中的 24 个。 :) -
看起来 @u_mulder 明白了我的意思。
-
在 else 部分,您仍然会遍历 $d_visitors 中与您的条件不匹配的值
标签: php arrays sorting merge default-value