json - 如何将数组从postgres db转换为laravel中的数组变量?
问题描述
如何将数组从 postgres db 转换为 laravel 中的数组变量?
我有来自 laravel 的结果 var_dump :
0 => array:1 [
"order_itemset" => "{8,11}"
]
1 => array:1 [
"order_itemset" => "{8,12}"
]
2 => array:1 [
"order_itemset" => "{17,10}"
]
]
我如何获取数据并将数据存储到数组变量中?
像这样
$data = [['8', '11'], ['8', '12'], ['17', '10']];
对不起我的英语不好,谢谢。
解决方案
看看这里。
如果您的 postgres 查询返回数组“[8,11]”而不是“排序”JSON“{8,11}”,则可以简化此代码
<?php
$values = array_column($your_data, 'order_itemset');
$values = array_map(function ($v) {
preg_match("/^\{(.+)\}$/", $v, $matches);
if ($matches[1]) {
return explode(',', $matches[1]);
}
return null;
}, $values);
print_r($values);
推荐阅读
- c# - app.config 程序集绑定似乎被忽略了
- javascript - 传单地图:点击而不是鼠标悬停在标记上的工具提示
- android - Fab 没有被底部导航上方的小吃店向上推
- c++ - 难以配置 Bazel 目标包括和 deps
- sql - 我遇到了一个奇怪的问题,使用 NOT IN 对 PostgreSQL 数据库运行查询,但不明白为什么它不起作用
- android - 渐变按钮显示默认紫色
- r - 从字符串中提取世纪和年份
- mysql - Power BI 无法连接到 MySQL 数据库
- java - 对象字段的最终确定
- google-coral - Coral Dev Board Mini - 无法通过 USB 连接但设备已列出 [Ubuntu]