Print_r результат mysqli_fetch_array

Привет, ребята, недавно я борюсь с выводом результата моего запроса 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-код:

<?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'</pre>';

?>

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

Попробуйте while($row = mysqli_fetch_array($result1)){ $rows[] = $row['0']; }

CK Wong 02.05.2018 03:46

большое спасибо ! Оно работает!

silentmethod 02.05.2018 03:49

Не могли бы вы объяснить, в чем разница между вашим и моим? Немного запутался, большое спасибо

silentmethod 02.05.2018 03:50

также попробуйте while($row = mysqli_fetch_assoc($result1)){ $rows[] = $row['Average']; }

Tamil Selvan C 02.05.2018 03:51

Спасибо! Это тоже работает! Но я немного запутался, как это может работать! Спасибо.

silentmethod 02.05.2018 03:52

Упс ... Ответ @Tamil Selvan C лучше моего! Я не знаю, почему полученный результат содержит две строки ... Я только что обнаружил, что вам нужен массив вместо массива массивов ... Разница между вашим и моим в том, что мой ответ принимает только указанный столбец, но ваш принимает все извлеченные результат независимо от того, что он возвращает.

CK Wong 02.05.2018 04:00
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
307
1

Ответы 1

Параметры здесь очень просты: вы либо сглаживаете массив, либо выполняете цикл 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']; }

Другие вопросы по теме