Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环不使用关联数组Php_Php_Arrays - Fatal编程技术网

循环不使用关联数组Php

循环不使用关联数组Php,php,arrays,Php,Arrays,我可以对关联数组进行多维测量吗,现在我得到以下结果 Array ( [0] => Array ( [id] => 1 [minimum_marks] => 55 [maximum_marks] => 65 ) [1] => Array ( [id] => 2 [mini

我可以对关联数组进行多维测量吗,现在我得到以下结果

    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
)
这是我的代码,我的代码没有只显示一条循环记录(代码应该显示所有的最小和最大标记),我错在哪里

$result=$query->result_array()


我不知道你为什么期待这个结果。但是我的建议,如果你真的想要的话

$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>';
echo'
最小标记最大标记';
foreach($结果为$skuArray){
$minMarks=$skuArray['minimum_marks'];
$maxMarks=$skuArray['maximum_marks'];
回显“.$minMarks.”.$minMarks.”;
}
回声';

我真的不明白你想要什么

如果要在两个不同的变量中获取数组,可以尝试以下方法:

使用动态变量,变量的名称将在循环中动态生成

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); 
但下次请更准确地说明你的期望以及你为什么需要这个

顺便说一下,您的代码发生的情况是,在第一个循环中,您在$\u simple\u数组中实例化了“minimum\u marks”和“maximum\u marks”


但是在第二个循环中,您将覆盖“最小标记”和“最大标记”的值。

数组中不能有重复的键。我认为你正在覆盖它们。看看这些数据,你不是已经有了你想要的吗?为什么你需要这样?你能详细说明一下吗?你试过了吗?或者您可以执行
$simpleArray['minimum_marks'][=$skuArray['minimum_marks']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);