Как распечатать результат JSON с несколькими строками вниз?

#php #mysql #arrays #json

Вопрос:

У меня есть результат JSON, подобный этому:

 ["D002","D003","L159"]
 

Здесь функция:

 function getdriverworking() {
    //my db
    $conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME) or die("FAIL");
    if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT * FROM config_driver WHERE status=3 OR status=2";
    $result1 = mysqli_query($conn,$sql);
    $object_array = array();
    while($row = $result1->fetch_assoc()) {
        
    $object_array[] = $row['id_driver']."n";

    }return $object_array;
}
 

и я вызываю функцию отсюда:

 $total = getdriverworking();
$total1=json_encode($total);
$driver = "Driver Working:n*$total1*";
    $result = [
        'mode' => 'chat', 
        'message' => $driver
    ];

print json_encode($result);
 

Я передаю его в чат WhatsApp, выводим вот так:

Как заставить его опуститься вот так:

 D002
D003
L159
 

Ответ №1:

Не уверен, что пойму, но попробуйте это :

 $total = getdriverworking();
$total1 = implode("n", $total);
$driver = "Driver Working:n*$total1*";
    $result = [
        'mode' => 'chat', 
        'message' => $driver
    ];

print json_encode($result);
 

Комментарии:

1. результат : ["D002n","L159n","D012n"]

2. хорошо, решено с помощью этого: « $total = getdriveronline(); foreach ($total в виде $списка) { $listonline .= $list . «rn»; } «

Ответ №2:

Взгляните на эту ссылку:

w3schools — JSON PHP

 <?php
$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";

$myJSON = json_encode($myObj);

echo $myJSON;
?>
 

Ответ №3:

Вы можете извлечь значения в отдельную строку.

 $total = getdriverworking();
$total1=json_encode($total);
$driver = "Driver Working:n*$total1*";
    $result = [
        'mode' => 'chat', 
        'message' => $driver
    ];
$str = "";
foreach ($result as $value) {
  $str  = $value . "n";
}

print json_encode($str);