将数组中的值循环到JS网格中
Loop values from array into JS grid
我一直在为这件事绞尽脑汁,似乎什么都不起作用,我不确定忽略了什么。
我有一个数组,我正在使用下面的$output从(垃圾)API中提取,它看起来像:
Array
(
[title] => Servers
[servs] => Array
(
[0] => Array
(
[server_name] => localhost
[total_ram] => 15922
[ram] => 12844
[total_space] => 931
[space] => 263
[version] => 2.7.9
[numvps] => 4
[alloc_ram] => 5120
[alloc_space] => 45
[virts] => Array
(
[0] => kvm
)
)
[1] => Array
(
[server_name] => VS999
[total_ram] => 15922
[ram] => 5897
[total_space] => 1397
[space] => 974
[version] => 2.7.9
[numvps] => 4
[alloc_ram] => 10240
[alloc_space] => 200
[virts] => Array
(
[0] => kvm
)
)
在PHP中使用这个print_r可以很好地显示所有数据。
$output = $admin->servers();
print_r($output);
我正试图从该数组中提取特定的值,并将它们循环到一个网格中(使用vue.js),它看起来像这样:
{ Node: 'vs999', Disk_Free: 974, Total_Disk: 1397, Disk_Free_Percent: 69, Free_RAM: 5897, Total_RAM: 15922, Free_RAM_Percent: 37, VMs: 4, Version: '2.7.9' },
有什么简单的方法可以做到这一点吗?我尝试过从数组本身打印单个值,如"server_name",但我甚至无法做到这一点——无论我尝试什么,都只是一个空白页。
// Call API to get servers
$rawData = $admin->servers();
// Data mapping
$map = [
'server_name' => 'Node',
'space' => 'Disk_Free',
'total_space' => 'Total_Disk',
];
// Remap data
$data = [];
foreach ($rawData['servs'] as $row) {
$item = [];
foreach ($map as $from => $to) {
$item[$to] = $row[$from];
}
$data[] = $item;
}
// encode JSON
$json = json_encode($data);
// Done and done
echo $json;
这似乎非常接近我所需要的,感谢您的错误报告和json_encode函数!
相关文章:
- JS.循环遍历多维数组,以计数元素在每列中的出现次数
- js循环遍历单击的元素子节点
- 在数组中迭代时的JS循环位置
- js-循环遍历数据库中的切片字符串和检查项
- Vide.js循环播放多个视频
- 带有foo.js和foo.js.coffee(空)的Rails资产管道导致js循环.为什么?
- 使用 svg.js 循环动画
- JS循环图像文件夹,预加载它们并分配给数组
- 为什么我的 JS 循环会覆盖对象中以前的条目
- 节点.js循环中的异步函数
- Moltin Cart,Laravel和Angular JS——循环通过JS对象
- 车把.js循环中的助手 #each 返回相同的结果
- Angular JS 循环遍历控制器中的多维数组
- JS循环不产生任何结果
- 使用velocity.js循环动画
- 如何将html放入js循环中
- 如何使用Knockout JS循环等运行常规/普通JavaScript代码
- jQuery/Js 循环使用 Codeigniter MySQL 输出数据
- JS循环迭代,但未传递值
- 当JS循环结束时,jQuery hide()