如何将 Postgres 查询中的数组转换为 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);
你可以使用foreach
$original_array = $your_array; //Your base array that you showed us on your Question
$base_array = array();
foreach($original_array as $original)
{
$child_array = array();
foreach($original->order_itemset as $a)
{
$child_array[] = $a;
}
$base_array[] = $child_array;
unset($child_array);
}
die($base_array);