Как избежать повторения данных в объекте php?

я создаю объект на основе данных полученных с базы, и при создании массива из объектов, данные из объекта повтораяются, с начала с числовыми ключами потом с текстовыми ключами, как зделать так чтобы записывался объект только текстовыми ключами?

вот php код:

$total = [];
$query = mysqli_query($conn, $allSites);
while ($row = mysqli_fetch_array($query)) {
	$total[] = $row;
}


а вот результат print_r($total):
Array
(
    [0] => Array
        (
            [0] => 1
            [red] => 1
            [1] => 175
            [ip] => 175
            [2] => c00aa
            [ded] => 00aa
            [3] => 81a97e83
            [gred] => 1a97e83
            [4] => 23
            [sed] => 23
        )

    [1] => Array
        (
            [0] => 2
            [red] => 2
            [1] => 879
            [ip] => 879
            [2] => 0000d
            [ded] => 0000d
            [3] => 0f280a
            [gred] => 0f280a
            [4] => 555
            [sed] => 555
        )

    [2] => Array
        (
            [0] => 3
            [red] => 3
            [1] => 379
            [ip] => 379
            [2] => 0020d
            [ded] => 0020d
            [3] => 0f28c2767
            [gred] => 0f28c2767
            [4] => 5423
            [sed] => 5423
        )
)


а хотелось бы:
Array
(
    [0] => Array
        (
            [red] => 1
            [ip] => 175
            [ded] => 00aa
            [gred] => 1a97e83
            [sed] => 23
        )

    [1] => Array
        (
            [red] => 2
            [ip] => 879
            [ded] => 0000d
            [gred] => 0f280a
            [sed] => 555
        )

    [2] => Array
        (
            [red] => 3
            [ip] => 379
            [ded] => 0020d
            [gred] => 0f28c2767
            [sed] => 5423
        )
)
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
@londhor
В mysqli_fetch_array передай параметр MYSQLI_ASSOC,
чтобы получилось:
$total = [];
$query = mysqli_query($conn, $allSites);
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
  $total[] = $row;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
мануал к mysqli_fetch_array() прочти и все станет понятно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы