我有数组,它具有以下值
$_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"]];所以我该怎么做我所做的就是
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”:“5df2194d2d845586ce”},“1”:{“headVal”:“5df2194d2d2d81db545586cf”},“2”:{“headVal”:“5df2194d2d2d2d2d845586d0”},“3”:“3”:{“headVal”:“5df2194d2d2d2d845586d1}”},“4”:{“headVal”:“5dbf2194d2d2d2d8d8d8db845586d2}”,“5 headVal:”{“headVal”“7”:{“headVal”:“5df2194d2d845586d5”},“8”:{“headVal”:“5df2194d2d845586d6”},“9”:{“headVal”:{“headVal”:“5df2194d2d845586d7”},{"headName":"time2",“0”:{“headVal”:“清华,11月28日:18:10 +0000"},”1“:”清华“:”清华“,11月28日,2019 16:18:12 +”},“2”:“{headVal”:清华:清华2019年11月28日16:18:12 +0000},“3”:{“headVal”:“清华,2019年11月28日16:18:13 +0000"},”4“:{”headVal“:”headVal“:”清华,11月28日16:18:13 +0000"},“5”:{“headVal”:“清华,11月28日”2019 16:18:13 +0000},“6”:{“headVal”:“清华”,11月28日16:18:14 +},“7”:{“headVal”:“清华”2019年11月28日16:18:14 +0000},“8”:{“headVal”:“清华,2019年11月28日16:18:14 +0000"},”9“:{”headVal“:”清华,11月28日16:15 +0000"},{"headName":"logtype",“0”:{“headVal”:“交通日志”},“1”:{“headVal”:“交通日志”},“2”:{“headVal”:“交通日志”}}“3”:{“headVal”:“流量日志”},“4”:{“headVal”:“流量日志”},“5”:{“headVal”:“流量日志”},“6”:“流量日志”},“7”:{“headVal”:“流量日志”},“8”:{“headVal”:“流量日志”}},“9”:{“headVal”:“流量日志”},{"headName":"SourceZone",“0”:{“headVal”:“隧道”},“1”:{“headVal”:“隧道”},“2”:{“headVal”:“隧道”},“3”:{“headVal”:“隧道”},“4”:{“headVal”:“隧道”},“5”:{“headVal”:“隧道”},“6”:“headVal”:“隧道”},“7”:{“headVal”:“隧道”}“8”:{“headVal”:“信任”},“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":{"headVal":"icmp"},“2”:{“headVal”:“icmp”},"3":{"headVal":"icmp"},“4”:{“icmp”:“icmp”},“5”:{“icmp”:“icmp”},"6":{"headVal":"icmp"},"7":{"headVal":"icmp"},“8”:{“icmp”:“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”:“5df2194d2d845586ce”,“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“:”5df2194d2d81db845586cf“,”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“:”5df2194d2d81db545586d0“、”逻辑类型“:”交通日志“、”time2“:”清华,2019月28日16:18:12 +0000",“议定书”:“udp”、"SourceIP":"172.16.10.252“、"DestinationIP":"10.10.0.4”、"SendBytes":"142“、"RcvPkts":"0”、“SourceZone”:“隧道”}、{“_id”:“5df2194d2d81db845586d1”、“logtype”:“交通日志”、“time2”:“清华,2019、11月28日16:18:13 +0000”、“议定书”:“icmp”、“SourceIP”:“172.16.252”、"DestinationIP":"10.10.0.26“、”SendBytes“:”60“、"RcvPkts":"0”、“SourceZone”:“隧道”}、{“_id”:“5df2194d2d81db545586d2”、“logtype”:“交通日志”、“time2”:“清华,2019月28日16:18:18:13 +0000”、“议定书”:“icmp”、"SourceIP":"172.16.10.252“、"DestinationIP":"10.10.0.23”、"SendBytes":"60","RcvPkts":"0",“SourceZone”:“隧道”},{"_id":"5df2194d2d81db5e845586d3",“logtype”:“流量日志”,“time2”:“清华,201911月28日16:18:13 +0000",”协议“:”icmp“,"SourceIP":"172.16.10.252","DestinationIP":"10.10.0.4","SendBytes":"60","RcvPkts":"0",”SourceZone“:”隧道“},{“_id”:“5df2194d2d81db545586d4”、“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”:“隧道”}、{“_id”:“5df2194d2d2d2d81db84558d5”、“逻辑类型”:“流量日志”,“time2”:“清华,2019年11月28日16:18:14 +0000",”议定书“:”icmp“,"SourceIP":"172.16.10.252","DestinationIP":"10.10.0.4","SendBytes":"60","RcvPkts":"0",”SourceZone“:”隧道“},{”_id“:”5df2194d2d81db545586d6“,”logtype“:”交通日志“,”time2“:”清华,11月28日“2019 16:18:14 +0000,“议定书”:“udp”、"SourceIP":"10.10.3.150“、"DestinationIP":"194.27.156.207”、"SendBytes":"76“、"RcvPkts":"1”、“SourceZone”、“SourceZone”}、{"_id":"5df2194d2d81db5e845586d7“、”logtype“:”流量日志“、”time2“:”清华,2019-16:18:15 +0000“、”协议“:”udp“、"SourceIP":"10.5.5.30”、"DestinationIP":"10.10.0.144","SendBytes":"142","RcvPkts":"0",“SourceZone”:“隧道”}
发布于 2019-12-17 08:40:29
请更新您的查询
$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;发布于 2019-12-17 09:11:43
如果$arr是数据库查询的结果,则可以使用laravel集合的map函数或内置的array_map函数。
$headval = ['headname' => '_id', 'headval' => array_map(function($a){return $a['_id'];},$arr)];
$time2 = ['headname' => 'time2', 'headval' => array_map(function($a){return $a['time2'];},$arr)];
$newArray = [$headval,$time2];https://stackoverflow.com/questions/59369723
复制相似问题