print_r результат mysqli_fetch_array - PullRequest
0 голосов
/ 02 мая 2018

Привет, ребята, недавно я борюсь с выводом результатов моего sql-запроса. После выполнения запроса и цикла. Вывод показывает как это:

Array
(
    [0] => Array
        (
            [0] => 68686.4792
            [Average] => 68686.4792
        )

    [1] => Array
        (
            [0] => 83703.3284
            [Average] => 83703.3284
        )

    [2] => Array
        (
            [0] => 95899.7763
            [Average] => 95899.7763
        )

    [3] => Array
        (
            [0] => 115881.2429
            [Average] => 115881.2429
        )

    [4] => Array
        (
            [0] => 99444.4138
            [Average] => 99444.4138
        )

)

но я ожидал вывода в следующем формате:

Array
(
    [0] => 68686.4792


    [1] => 83703.3284


    [2] => 95899.7763


    [3] => 115881.2429


    [4] => 99444.4138


)

А вот и мой php код:

<code><?php

     $strQuery1 = 'SELECT Avg(Price) as Average From price GROUP by year(Date_of_Transfer)';
     $result1 = $dbhandle->query($strQuery1) or exit("Error code ({$dbhandle->errno}): {$dbhandle->error}");
     $rows=array();
     while($row = mysqli_fetch_array($result1)){
     $rows[] = $row;
  }
     echo'<pre>';
     print_r ($rows);
     echo'
'; ?>

Интересно, я сделал что-то не так в кодировании или есть ли способ, которым я могу преобразовать массив в формат, который я ожидал? Спасибо.

1 Ответ

0 голосов
/ 02 мая 2018

Опции здесь очень просты: вы либо выравниваете массив, либо делаете цикл foreach одним шагом в массив.

РЕШЕНИЕ 1:

// $array = your multidimensional array

$flat_array = array();

foreach(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)) as $k=>$v){

$flat_array[$k] = $v;

}

Также задокументировано: http://www.phpro.org/examples/Flatten-Array.html

РЕШЕНИЕ 2: Это было упомянуто другими людьми, которые уже ответили

while($row = mysqli_fetch_array($result1)){ $rows[] = $row['0']; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...