【发布时间】:2020-04-09 16:33:15
【问题描述】:
我有一个包含这个值的数组
$_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": "5df2194d2d81db5e845586d0"},"3":{"headVal":"5df2194d2d81db5e845586d1"},"4":{"headVal":"5df2194d2d81db5e845586d2"},"5":{"headVal":"5df2194d2d81db5e845}" :{"headVal":"5df2194d2d81db5e845586d4"},"7":{"headVal":"5df2194d2d81db5e845586d5"},"8":{"headVal":"5df2194d2d81db5e845586d6"},"9":{"headVal":"5df21454d72be "}},{"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":"logtype","0":{"headVal":"交通日志"},"1":{"headVal":"交通日志"},"2":{ “headVal”:“交通 LOGS"},"3":{"headVal":"流量日志"},"4":{"headVal":"流量 LOGS"},"5":{"headVal":"流量日志"},"6":{"headVal":"流量 LOGS"},"7":{"headVal":"流量日志"},"8":{"headVal":"流量 LOGS"},"9":{"headVal":"流量 LOGS"}},{"headName":"SourceZone","0":{"headVal":"tunnel"},"1":{"headVal":"tunnel"},"2":{"headVal" :"隧道"},"3":{"headVal":"隧道"},"4":{"headVal":"隧道"},"5":{"headVal":"隧道"},"6 ":{"headVal":"tunnel"},"7":{"headVal":"tunnel"},"8":{"headVal":"trust"},"9":{"headVal":"隧道"}},{"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":"tunnel"},{"_id":" 5df2194d2d81db5e845586cf","logtype":"流量日志","time2":"Thu, 28 Nov 2019 16:18:12 +0000","Protocol":"icmp","SourceIP":"172.16.10.252"," DestinationIP":"10.10.0.23","SendBytes":"60","RcvPkts":"0","SourceZone":"tunnel"},{"_id":"5df2194d2d81db5e845586d0","logtype":"流量日志","time2":"2019 年 11 月 28 日星期四 16:18:12 +0000","Protocol":"udp","SourceIP":"172.16.10.252","DestinationIP":"10.10.0.4"," SendBytes":"142","RcvPkts":"0","SourceZone":"tunnel"},{"_id":"5df2194d2d81db5e845586d1","logtype":"Traffic LOGS","time2":"Thu, 28 2019 年 11 月 16:18:13 +0000","Protocol":"icmp","SourceIP":"172.16.10.252","DestinationIP":"10.10.0.26","SendBytes":"60","RcvPkts" :"0","SourceZone":"tunnel"},{"_id":"5df2194d2d81db5e845586d2","logtype":"交通日志","time2":"20 年 11 月 28 日星期四19 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":"Thu, 28 Nov 2019 16:18:13 +0000", "Protocol":"icmp","SourceIP":"172.16.10.252","DestinationIP":"10.10.0.4","SendBytes":"60","RcvPkts":"0","SourceZone":"隧道"},{"_id":"5df2194d2d81db5e845586d4","logtype":"流量日志","time2":"Thu, 28 Nov 2019 16:18:14 +0000","Protocol":"icmp","SourceIP ":"172.16.10.252","DestinationIP":"10.10.0.188","SendBytes":"60","RcvPkts":"0","SourceZone":"tunnel"},{"_id":"5df2194d2d81db5e845586d5 ","logtype":"Traffic LOGS","time2":"Thu, 28 Nov 2019 16:18:14 +0000","Protocol":"icmp","SourceIP":"172.16.10.252","DestinationIP ":"10.10.0.4","SendBytes":"60","RcvPkts":"0","SourceZone":"tunnel"},{"_id":"5df2194d2d81db5e845586d6","logtype":"流量日志" ,"time2":"Thu, 28 Nov 2019 16:18:14 +0000","Protocol":"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","Protocol":"udp","SourceIP":"10.5.5.30","DestinationIP":"10.10.0.144","SendBytes":"142" ,"RcvPkts":"0","SourceZone":"隧道"}]
【问题讨论】:
-
你能告诉我们查询的原始数据结果是什么样的吗?
-
您的预期输出是什么?作为数组我猜
-
@Presmelito 我更新了我的问题,你可以看到结果
-
是否需要使用循环?