我有这个值的数组

$_logfields=["_id", "time2", "logtype", "SourceZone", "SourceIP", "DestinationIP", "Protocol", "SendBytes", "RcvPkts"];


我想从数据库中选择字段

$datas = Logss::select ("_id", "time2", "logtype", "SourceZone", "SourceIP", "DestinationIP", "Protocol", "SendBytes", "RcvPkts")->offset(10)->limit(10 )->get();


查询后,我的目标是拥有这样的json数据

$tdata = [{ headName: "_id", headVal: ["32432dsfsdf34ffds","345dsfdsfcxsddfsfds34"] },{ headName: "time2", headVal: ["2/1/2019","3/2/2019"] },{ headName: "logtype", headVal: ["traffic","url"] },{ headName: "SourceZone", headVal: ["trust","untrust"] },{ headName: "SourceIP", headVal: ["192.168.1.1","192.168.5.1"] },{ headName: "DestinationIP", headVal: ["10.10.0.5","10.10.0.20"] },{ headName: "Protocol", headVal: ["udp","ICP"] },{ headName: "SendBytes", headVal: ["30","40"] },{ headName: "RcvPkts", headVal: ["5","7"]];


所以我该怎么做json
我所做的是

for($i=0; $i < count($_logfields); $i++){
    $headname = $_logfields[$i];
    $col[$i]['headName'] = $_logfields[$i];

    for($j=0; $j < count($datas); $j++){
        $col[$i][$j]['headVal'] = $datas[$j][$headname];
    }
}
echo json_encode($col);


但是返回的结果是这样的事情与我的代码不兼容


[{“ headName”:“ _ id”,“ 0”:{“ headVal”:“ 5df2194d2d81db5e845586ce”},“ 1”:{“ headVal”:“ 5df2194d2d81db5e845586cf”},“ 2”:{“ headVal”:“ 5df2194d2d81db5e8455860 },“ 3”:{“ headVal”:“ 5df2194d2d81db5e845586d1”},“ 4”:{“ headVal”:“ 5df2194d2d81db5e845586d2”},“ 5”:{“ headVal”:“ 5df2194d2d81db5e845586d3”}“,” 6: headVal“:” 5df2194d2d81db5e845586d4“},” 7“:{” headVal“:” 5df2194d2d81db5e845586d5“},” 8“:{” headVal“:” 5df2194d2d81db5e845586d6“},” 9“:{” headVal“ d2d5586 ,{“ headName”:“ time2”,“ 0”:{“ headVal”:“星期四,
2019年11月28日16:18:10 +0000“},” 1“:{” headVal“:”星期四,2019年11月28日16:18:12
+0000“},” 2“:{” headVal“:”星期四,2019年11月28日16:18:12 +0000“},” 3“:{” headVal“:”星期四,2019年11月28日16:18:13 +0000“},” 4“:{” headVal“:”星期四,2019年11月28日16:18:13 +0000“},” 5“:{” headVal“:”星期四,2019年11月28日16:18:13 +0000“},” 6“:{” headVal“:”星期四,2019年11月28日16:18:14 +0000“},” 7“:{” headVal“:”星期四,2019年11月28日16:18:14 +0000“},” 8“:{” headVal“:”星期四,2019年11月28日16:18:14 +0000“},” 9“:{” headVal“:”星期四,2019年11月28日16:18:15 +0000“}},{” headName“:”日志类型“,” 0“:{” headVal“:”交通日志“},” 1“:{” headVal“:”交通日志“},” 2“:{ “ headVal”:“流量
LOGS“},” 3“:{” headVal“:” Traffic LOGS“},” 4“:{” headVal“:” Traffic
LOGS“},” 5“:{” headVal“:” Traffic LOGS“},” 6“:{” headVal“:” Traffic
LOGS“},” 7“:{” headVal“:” Traffic LOGS“},” 8“:{” headVal“:” Traffic
LOGS“},” 9“:{” headVal“:”流量
LOGS“}},{” headName“:” SourceZone“,” 0“:{” headVal“:”隧道“},” 1“:{” headVal“:”隧道“},” 2“:{” headVal“ :“ tunnel”},“ 3”:{“ headVal”:“ tunnel”},“ 4”:{“ headVal”:“ tunnel”},“ 5”:{“ headVal”:“ tunnel”},“ 6 “:{” headVal“:”隧道“},” 7“:{” headVal“:”隧道“},” 8“:{” headVal“:”信任“},” 9“:{” headVal“:” tunnel“}},{” headName“:” SourceIP“,” 0“:{” headVal“:” 172.16.10.252“},” 1“:{” headVal“:” 172.16.10.252“},” 2“: {“ headVal”:“ 172.16.10.252”},“ 3”:{“ headVal”:“ 172.16.10.252”},“ 4”:{“ headVal”:“ 172.16.10.252”},“ 5”:{“ headVal“:” 172.16.10.252“},” 6“:{” headVal“:” 172.16.10.252“},” 7“:{” headVal“:” 172.16.10.252“},” 8“:{” headVal“ :“ 10.10.3.150”},“ 9”:{“ headVal”:“ 10.5.5.30”}},{“ headName”:“ DestinationIP”,“ 0”:{“ headVal”:“ 10.10.0.3”}, “ 1”:{“ headVal”:“ 10.10.0.23”},“ 2”:{“ headVal”:“ 10.10.0.4”},“ 3”:{“ headVal”:“ 10.10.0.26”},“ 4 “:{” headVal“:” 10.10.0.23“},” 5“:{” headVal“:” 10.10.0.4“},” 6“:{” headVal“:” 10.10.0.188“},” 7“: {“ headVal”:“ 10.10.0.4”},“ 8”:{“ headVal”:“ 194.27.156.207”},“ 9”:{“ headVal”:“ 10.10.0.144”}},{“ headName”: “协议”,“ 0”:{“ headVal”:“ icmp”},“ 1”:{“ headVa l“:” icmp“},” 2“:{” headVal“:” udp“},” 3“:{” headVal“:” icmp“},” 4“:{” headVal“:” icmp“}, “ 5”:{“ headVal”:“ icmp”},“ 6”:{“ headVal”:“ icmp”},“ 7”:{“ headVal”:“ icmp”},“ 8”:{“ headVal” :“” udp“},” 9“:{” headVal“:” udp“}},{” headName“:” SendBytes“,” 0“:{” headVal“:” 60“},” 1“:{” headVal“:” 60“},” 2“:{” headVal“:” 142“},” 3“:{” headVal“:” 60“},” 4“:{” headVal“:” 60“}, “ 5”:{“ headVal”:“ 60”},“ 6”:{“ headVal”:“ 60”},“ 7”:{“ headVal”:“ 60”},“ 8”:{“ headVal” :“ 76”},“ 9”:{“ headVal”:“ 142”}},{“ headName”:“ RcvPkts”,“ 0”:{“ headVal”:“ 1”},“ 1”:{“ headVal“:” 0“},” 2“:{” headVal“:” 0“},” 3“:{” headVal“:” 0“},” 4“:{” headVal“:” 0“}, “ 5”:{“ headVal”:“ 0”},“ 6”:{“ headVal”:“ 0”},“ 7”:{“ headVal”:“ 0”},“ 8”:{“ headVal” :“ 1”},“ 9”:{“ headVal”:“ 0”}}]


这是从数据库接收的数据


[{“ _id”:“ 5df2194d2d81db5e845586ce”,“ logtype”:“交通日志”,“ time2”:“ 2019年11月28日星期四16:18:10 +0000”,“协议”:“ icmp”,“ SourceIP”: “ 172.16.10.252”,“ DestinationIP”:“ 10.10.0.3”,“ SendBytes”:“ 60”,“ RcvPkts”:“ 1”,“ SourceZone”:“隧道”},{“ _ id”:“ 5df2194d2d81db5e845586cf”, “ logtype”:“流量日志”,“ time2”:“星期四,2019年11月28日16:18:12 +0000”,“协议”:“ icmp”,“ SourceIP”:“ 172.16.10.252”,“ DestinationIP”: “ 10.10.0.23”,“ SendBytes”:“ 60”,“ RcvPkts”:“ 0”,“ SourceZone”:“隧道”},{“ _ id”:“ 5df2194d2d81db5e845586d0”,“ logtype”:“交通日志”,“ time2”:“星期四,2019年11月28日16:18:12 +0000”,“协议”:“ udp”,“ SourceIP”:“ 172.16.10.252”,“ DestinationIP”:“ 10.10.0.4”,“ SendBytes”: “ 142”,“ RcvPkts”:“ 0”,“ SourceZone”:“隧道”},{“ _ id”:“ 5df2194d2d81db5e845586d1”,“ logtype”:“交通日志”,“ time2”:“星期四,2019年11月28日16 :18:13 +0000“,” Protocol“:” icmp“,” SourceIP“:” 172.16.10.252“,” DestinationIP“:” 10.10.0.26“,” SendBytes“:” 60“,” RcvPkts“:” 0 “,” SourceZone“:”隧道“},{” _ id“:” 5df2194d2d81db5e845586d2“,” logtype“:”交通日志“,” time2“:” 2019年11月28日,星期四16:18:13 +0000“,” Protocol“:” icmp“,” SourceIP“:” 172.16.10.252“,” DestinationIP“:” 10.10.0.23“,” SendBytes“:” 60“,” RcvPkts“:” 0“,” SourceZone“:” tunnel“},{” _ id“:” 5df2194d2d81db5e845586d3“,” logtype“:”交通日志“,” time2“:”周四,2019年11月28日16:18:13 +0000“,”协议”:“ icmp”,“ SourceIP”:“ 172.16.10.252”,“ DestinationIP”:“ 10.10.0.4”,“ SendBytes”:“ 60”,“ RcvPkts”:“ 0”,“ SourceZone”:“ tunnel” },{“ _ id”:“ 5df2194d2d81db5e845586d4”,“ logtype”:“交通日志”,“ time2”:“星期四,2019年11月28日16:18:14 +0000”,“协议”:“ icmp”,“ SourceIP” :“ 172.16.10.252”,“ DestinationIP”:“ 10.10.0.188”,“ SendBytes”:“ 60”,“ RcvPkts”:“ 0”,“ SourceZone”:“ tunnel”},{“ _ id”:“ 5df2194d2d81d5db4e845586d5” ,“ logtype”:“流量日志”,“ time2”:“星期四,2019年11月28日16:18:14 +0000”,“协议”:“ icmp”,“ SourceIP”:“ 172.16.10.252”,“ DestinationIP” :“ 10.10.0.4”,“ SendBytes”:“ 60”,“ RcvPkts”:“ 0”,“ SourceZone”:“ tunnel”},{“ _ id”:“ 5df2194d2d81db5e845586d6”,“ logtype”:“交通日志”, “ time2”:“星期四,2019年11月28日16:18:14 +0000”,“协议”:“ udp”,“ SourceIP”:“ 10.10.3.150”,“ DestinationIP”:“ 194.27.156 .207“,” SendBytes“:” 76“,” RcvPkts“:” 1“,” SourceZone“:” trust“},{” _ id“:” 5df2194d2d81db5e845586d7“,” logtype“:”交通日志“,” time2“ ::“星期四,2019年11月28日16:18:15 +0000”,“协议”:“ udp”,“ SourceIP”:“ 10.5.5.30”,“ DestinationIP”:“ 10.10.0.144”,“ SendBytes”:“ 142 “,” RcvPkts“:” 0“,” SourceZone“:”隧道“}]

最佳答案

请更新您的查询

   $datas = Logss::select ("_id", "time2", "logtype", "SourceZone", "SourceIP", "DestinationIP", "Protocol", "SendBytes", "RcvPkts")->offset(10)->limit(10 )->get()->toArray();


然后使用以下代码

$new_array = array();
    foreach($matches as $key=>$value){
        foreach($value as $k=>$v){

            $new_array[$k][] = $v;
        }

    }
    echo json_encode($new_array);die;

09-17 18:07