Примечание: преобразование массива в строку в пути в строке 33 Array

0

Я постоянно получаю уведомление: "Обратите внимание: массив для преобразования строк в путь по строке 33". Когда я скрываю уведомление, хотя error_reporting(E_ALL ^ E_NOTICE); Я все еще получаю слово "Массив", появляющееся столько раз, сколько строк, которые я возвращаю. Будучи новым, я не могу избавиться от них. Там ошибка в коде где-то здесь.

<?php
$query = 'SELECT * FROM NETWORK';

$result = mysqli_query($conn,$query);
while($r=mysqli_fetch_assoc($result)){
echo $rows["network"][] = $r;
}

print json_encode($rows);
?>

Когда я тестирую это в браузере, он возвращает это.

Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
Notice: Array to string conversion in /var/www/html/dl.php on line 33
Array
{"network":[{"lid":"1","sid":"1","player_id":"1","active":"1"},
{"lid":"1","sid":"1","pid":"4","active":"1"},
{"lid":"1","sid":"2","pid":"2","active":"1"}, 
{"lid":"1","sid":"2","pid":"5","active":"1"},
{"lid":"1","sid":"3","pid":"3","active":"1"},
{"lid":"2","sid":"1","pid":"1","active":"1"},
{"lid":"2","sid":"2","pid":"2","active":"1"},
{"lid":"2","sid":"2","pid":"4","active":"1"},
{"lid":"2","sid":"3","pid":"3","active":"1"},
{"lid":"2","sid":"3","pid":"5","active":"1"}]}

Общий вопрос: что я делаю неправильно? Но поскольку я получаю уведомление, а не ошибку, я предполагаю, что, возможно, ничего не случилось, но, возможно, есть лучший способ получить конечный результат, который я хочу, который является массивом, закодированным с помощью json. Все и любая помощь приветствуются.

Теги:
arrays
dynamic
fetch

1 ответ

1
Лучший ответ

Избавьтесь от echo. $r - массив, который не является строкой и не может использоваться с echo:

//echo $rows["network"][] = $r;
$rows["network"][] = $r;

И почему вы строите $rows но json_encode $rows3?

  • 0
    Спасибо, это полностью сработало. Извините, что $ row3 я забыл изменить, чтобы облегчить чтение кода. Я скопировал эту часть из другого места в файле, так что это была просто ошибка транспонирования.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню