PostgreSQL的转换数组PHP数组 [英] Convert PostgreSQL array to PHP array
本文介绍了PostgreSQL的转换数组PHP数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有麻烦阅读PostgreSQL的数组在PHP。我曾尝试爆炸(),但这个突破包含字符串)逗号和str_getcsv(阵列,但它也没什么好PostgreSQL并不引述日本字符串。
不工作:
爆炸(',',修剪($ pgArray ['关键'],'{}'));
str_getcsv(修剪($ pgArray ['关键'],'{}'));
例如:
//的print_r()在PostgreSQL上返回的数据:阵列([字符串] => {または,一些字符串没有一个逗号,字符串,请用逗号} )//输出:阵列([0] =>または[1] =>中一些字符串没有一个逗号[2] =>中的字符串[3] =>在一个逗号)
爆炸(',',修剪($ pgArray ['字符串'],'{}'));//输出:阵列([0] => [1] =>一些字符串没有逗号[2] =>将字符串,请用逗号)
的print_r(str_getcsv(修剪($ pgArray ['字符串'],'{}')));
解决方案
如果你的PostgreSQL 9.2,你可以做这样的事情:
SELECT array_to_json(pg_array_result)AS new_name的FROM TBL1;
结果将返回数组作为JSON
然后在PHP端的问题:
$阵列= json_de code($ returned_field);
您也可以转换回来。这里有 JSON功能页
I have trouble reading Postgresql arrays in PHP. I have tried explode(), but this breaks arrays containing commas in strings, and str_getcsv() but it's also no good as PostgreSQL doesn't quote the Japanese strings.
Not working:
explode(',', trim($pgArray['key'], '{}'));
str_getcsv( trim($pgArray['key'], '{}') );
Example:
// print_r() on PostgreSQL returned data: Array ( [strings] => {または, "some string without a comma", "a string, with a comma"} )
// Output: Array ( [0] => または [1] => "some string without a comma" [2] => "a string [3] => with a comma" )
explode(',', trim($pgArray['strings'], '{}'));
// Output: Array ( [0] => [1] => some string without a comma [2] => a string, with a comma )
print_r(str_getcsv( trim($pgArray['strings'], '{}') ));
解决方案
If you have PostgreSQL 9.2 you can do something like this:
SELECT array_to_json(pg_array_result) AS new_name FROM tbl1;
The result will return the array as JSON
Then on the php side issue:
$array = json_decode($returned_field);
You can also convert back. Here are the JSON functions page
这篇关于PostgreSQL的转换数组PHP数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文