while循环中重复的数组值

时间:2017-02-13 11:22:59

标签: php

我有一个数组,显示它的键和值两次。以下是显示数据的方式示例:

Array ( 
[0] => 38 
[1] => 38 
[2] => 10 
[3] => 10 
[4] => B 
[5] => B 
[6] => 5 
[7] => 5 
[8] => 5 
[9] => 5 
[10] => 5 
[11] => 5 
[12] => 5 
[13] => 5 
[14] => 5 
[15] => 5 
[16] => 5 
[17] => 5 
[18] => 5 
[19] => 5
) 

我尝试在SO上寻找解决方案,但我只找到了每个案例。尝试只选择偶数键,但没有设法做到这一点。 array_unique()在我的案例中不起作用,因为我可能有不同字段的相同值。

导致它显示两次的问题是什么?

<?php
include_once "connect.php";

$intrebare_02 = mysqli_real_escape_string($con, $_POST['intrebare_02']);

    $i = 0;
    $array_sum=[];
     while ($i < 10){
      $i++;
       $sql =  "SELECT * FROM parteneri WHERE nr_intrebare = '$i' AND varianta_raspuns = '$intrebare_02'";
       $result = mysqli_query($con, $sql);

       $final_array = array();
 if ($i % 2 == 0)
      while ($row = mysqli_fetch_array($result))
      {

        $final_array = array_values($row);
            $array_sum = array_map(function () {
                return array_sum(func_get_args());
            }, $array_sum, $final_array);
      }
}
print_r($final_array); 

如果您需要进一步澄清,请与我们联系。

1 个答案:

答案 0 :(得分:2)

默认情况下,mysqli_fetch_array()返回一个数组,该数组包含行的每一列的关联(按列名)和枚举键(按列顺序)。您可以通过分别使用MYSQLI_ASSOCMYSQLI_NUM标志作为函数的第二个参数来指定是仅需要关联数组还是只需要枚举数组。

或者,你可以使用mysqli_fetch_assoc()函数返回一个关联数组,或mysqli_fetch_row()只返回一个枚举数组,或mysqli_fetch_object()如果你想冒险并返回一个对象,其中每列都有公共对象属性