我可以对关联数组进行多维处理吗,现在我正在关注结果
Array
(
[0] => Array
(
[id] => 1
[minimum_marks] => 55
[maximum_marks] => 65
)
[1] => Array
(
[id] => 2
[minimum_marks] => 44
[maximum_marks] => 70
}
)
我只想将所有值都放在单个值中,我想要类似以下数组的结果
Array
(
[id] => 1
[minimum_marks] => 55
[maximum_marks] => 65
)
Array
(
[id] => 2
[minimum_marks] => 44
[maximum_marks] => 70
)
这是我的代码,我的代码没有显示带有循环的一条记录(代码应该显示所有的minimum_marks和maximum_marks),我错了吗?
$ result = $ query-> result_array();
$simpleArray = [];
foreach ($result as $skuArray) {
$simpleArray['minimum_marks'] = $skuArray['minimum_marks'];
$simpleArray['maximum_marks'] = $skuArray['maximum_marks'];
}
print_R($simpleArray);
答案 0 :(得分:0)
我不知道您为什么期望这个输出。但是我的建议是,如果您真的想要吗?
$simpleArray = [];
foreach ($result as $skuArray) {
$simpleArray['minimum_marks'] = $skuArray['minimum_marks'];
$simpleArray['maximum_marks'] = $skuArray['maximum_marks'];
print_R($simpleArray);
}
在循环内打印值,因此它不会推送,也不会创建多个数组。每次都会覆盖。但是请确保,最后您只能在simpleArray上获得最后一个数组值。希望你能理解!
让我举例说明。如果要在表格中显示标记,我建议您像下面那样直接返回,而不是创建变量并再次检索它。
echo '<table>
<tr><th>Min Marks</th><th>Max Marks</th></tr>';
foreach ($result as $skuArray) {
$minMarks = $skuArray['minimum_marks'];
$maxMarks = $skuArray['maximum_marks'];
echo '<tr><td>'.$minMarks.'</td><td>'.$minMarks.'</td></tr>';
}
echo '</table>';
答案 1 :(得分:0)
我真的不明白你想要什么。
如果要使用两个不同的变量获取数组,可以尝试以下操作:
使用动态变量,该变量的名称在循环中动态生成。
foreach($result as $key => $_array){
//$key is your inder of you multidimensional
$name_variable = '_array_number_'.$key; //Name of the variable
$$name_variable = $_array; //Instanciate dynamic variable
}
//You got now this two array
print_r($_array_number_0);
print_r($_array_number_1);
但是下次请更加精确地说明您的期望以及为什么需要这样做。
顺便说一句,您的代码所发生的事情是,在第一个循环中,您在$ _simple_array中实例化了“ minimum_marks”和“ maximum_marks”。
但是在第二个循环中,您覆盖“ minimum_marks”和“ maximum_marks”的值。