PHP:我需要嵌套的 foreach 循环还是多个数组?
PHP: Do I need nested foreach loops or multiple arrays?
我不确定描述我需要做什么的术语。两个嵌套的 foreach 循环?多个数组?多维数组?
我正在计算每个状态(AK、AL、AR 等)出现的总次数
$states_count[] = $state;
$count_by_state = array_count_values($states_count);
var_dump($count_by_state)
给了我
["AK"]=> int(3) ["AL"]=> int(6) ["AR"]=> int(4) ["AZ"]=> int(9) ["CA"]=> int(98) ["CO"]=> int(44) ....
所以阿拉斯加总数是 3,阿拉巴马州总数是 6,依此类推
在单独的代码中,我使用这个 foreach 来构建一个菜单:
<?php $states = array('AK'=>'Alaska', 'AL'=>'Alabama'.... );
foreach ($states as $key => $value) {
echo $key; echo $value; echo ',';
}
输出 AK 阿拉斯加、AL 阿拉巴马州、AR 阿肯色州...
但是我该如何让它发挥作用呢?
foreach ($states as $key => $value) {
echo $key; echo $value; echo $each-individual-state-count-total from $count_by_state)
您可以使用 foreach 循环的键索引到 $count_by_state 数组(并可能先检查键是否存在)
$count_by_state = [
"AK" => 3,
"AL" => 6,
"XXX" => 9
];
$states = array('AK' => 'Alaska', 'AL' => 'Alabama');
foreach ($states as $key => $value) {
if (array_key_exists($key, $count_by_state)) {
echo $value . "," . $count_by_state[$key] . PHP_EOL;
}
}
输出
Alaska,3
Alabama,6
我不确定描述我需要做什么的术语。两个嵌套的 foreach 循环?多个数组?多维数组?
我正在计算每个状态(AK、AL、AR 等)出现的总次数
$states_count[] = $state;
$count_by_state = array_count_values($states_count);
var_dump($count_by_state)
给了我
["AK"]=> int(3) ["AL"]=> int(6) ["AR"]=> int(4) ["AZ"]=> int(9) ["CA"]=> int(98) ["CO"]=> int(44) ....
所以阿拉斯加总数是 3,阿拉巴马州总数是 6,依此类推
在单独的代码中,我使用这个 foreach 来构建一个菜单:
<?php $states = array('AK'=>'Alaska', 'AL'=>'Alabama'.... );
foreach ($states as $key => $value) {
echo $key; echo $value; echo ',';
}
输出 AK 阿拉斯加、AL 阿拉巴马州、AR 阿肯色州...
但是我该如何让它发挥作用呢?
foreach ($states as $key => $value) {
echo $key; echo $value; echo $each-individual-state-count-total from $count_by_state)
您可以使用 foreach 循环的键索引到 $count_by_state 数组(并可能先检查键是否存在)
$count_by_state = [
"AK" => 3,
"AL" => 6,
"XXX" => 9
];
$states = array('AK' => 'Alaska', 'AL' => 'Alabama');
foreach ($states as $key => $value) {
if (array_key_exists($key, $count_by_state)) {
echo $value . "," . $count_by_state[$key] . PHP_EOL;
}
}
输出
Alaska,3
Alabama,6