Поиск в файле JSON - PullRequest
       18

Поиск в файле JSON

0 голосов
/ 22 января 2019

Я выступаю вживую, я использую это, чтобы получить файл json

<?php
if(mysqli_num_rows($result) > 0)
{
  while($row1 = mysqli_fetch_array($result))
  {
        $output["name"][]=$row1["name"];
        $output["email"][]=$row1["email"];
  }
}

$fp = fopen('results.json', 'w');
fwrite($fp,json_encode($output));
fclose($fp);
?>

, и я получил что-то подобное в файле json

{
"name":["Marinasy","test","test","Nath"],
"email":["behambymarinasy@gmail.com","test@test","test@trs","nath@trs"]
}

Но мне нужно что-то вродекод ниже, чтобы сделать поиск.Есть ли способ получить JSON как этот вместо JSON выше?или как мне поискать по коду выше?

[
  {
    "name":"Marinasy",
    "email": "behambymarinasy@gmail.com"
  },
  {
    "name":"Test",
    "email": "test@test"

  },
  {
    "name":"Nath",
    "email": "nath@trs"
  }
]

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Изменить это

$output["name"][]=$row1["name"];
$output["email"][]=$row1["email"];

до

$output[] = [
    "name"=>$row1["name"],
    "email"=>$row1["email"]
];

Полный код здесь

<?php
    if (mysqli_num_rows($result) > 0) {
        $output = [];
        while ($row1 = mysqli_fetch_array($result)) {
            $output[] = [
                "name" => $row1["name"],
                "email" => $row1["email"]
            ];
        }
    }

    $fp = fopen('results.json', 'w');
    fwrite($fp, json_encode($output));
    fclose($fp);
?>
0 голосов
/ 22 января 2019

Вы можете сделать так ...

<?php
$output= array();
if(mysqli_num_rows($result) > 0)
{
  while($row1 = mysqli_fetch_array($result))
  {
        array_push($output, array('name'=> $row1["name"], 'email'=> $row1["email"]));
  }
}

$fp = fopen('results.json', 'w');
fwrite($fp,json_encode($output));
fclose($fp);
?>
...