php - 如何使用 PHP 将字符串更改为 JSON 格式结构?
问题描述
我有这些代码可以从两个不同的数据库中提取数据。
我需要通过'staffid'消除同一行。
到目前为止,我可以消除重复。但输出不是我想要的。
索引.php
<?php
// PART A
require 'conn.php';
$query = "SELECT STAFFID FROM TABLE";
$result = oci_parse($conn, $query);
oci_execute($result);
while ($row = oci_fetch_array($result,OCI_NUM)){
$arr[] = $row[0];
}
// PART B
$url="http://localhost/fetch_data.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
foreach(json_decode($result) as $result2)
{
if(!in_array($result2[0],$arr))
{
$total = "".$result2[0].",".$result2[1].",".$result2[2]."<br/>";
echo json_encode($total);
}
}
?>
上述代码的远输出如下
"A001","BILLY","email1@mail.com"
"A002","JOHN","email2@mail.com"
"A003","SALLY","email3@mail.com"
获取.php
<?php
include_once('conn.php');
$arr = array();
$query = "SELECT * FROM TABLE ";
$stmt = sqlsrv_prepare($conn, $query);
$result = sqlsrv_execute($stmt);
$row = sqlsrv_fetch_array($stmt);
$array = array();
while( $self = sqlsrv_fetch_array( $stmt)) {
$array2 = array();
$array2[]= $self['ID'];
$array2[]= $self['NAME'];
$array2[]= $self['EMAIL'];
$array[] = $array2;
}
echo json_encode($array);
?>
我的目标是将其更改为 JSON,如下所示。我错过了括号和昏迷。
[
["A001","BILLY","email1@mail.com"],
["A002","JOHN","email2@mail.com"],
["A003","SALLY","email3@mail.com"]
]
感谢有人可以帮助我解决这个问题。谢谢。
解决方案
尝试改变
foreach(json_decode($result) as $result2)
{
if(!in_array($result2[0],$arr))
{
$total = "".$result2[0].",".$result2[1].",".$result2[2]."<br/>";
echo json_encode($total);
}
}
进入
foreach(json_decode($result) as $result2)
{
if(!in_array($result2[0],$arr))
{
$total[] = $result2;
}
}
echo json_encode($total);
推荐阅读
- python - 如何在 Django 中使用 ListView 不显示任何记录?
- android - 如何在没有 Visual Studio 的情况下下载 Android SDK?
- azure-machine-learning-studio - 通过 REST 调用在 Azure ML Studio 中执行以下操作
- list - 从飞镖列表中删除重复项目时出现问题
- java - Java spring 上的单独事务
- javascript - 承诺 {
.forEach 不是函数 - android - 当iOS应用程序在后台时,android设备可以检测到充当外围设备的iOS设备吗?
- c# - 将每个 id 的数据合并到一行并删除重复项
- c# - 如何将自定义属性添加到 asp.net 下拉列表
- java - 如何在从服务引发异常的休息控制器中模拟异常