我在 PHP 中读取 Postgresql 数组时遇到问题。我试过 explode(),但这会破坏字符串中包含逗号的数组,以及 str_getcsv()
但它也不好,因为 PostgreSQL 不引用日文字符串。
不工作:
explode(',', trim($pgArray['key'], '{}'));
str_getcsv( trim($pgArray['key'], '{}') );
例子:
// 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'], '{}') ));
原文由 aardbol 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你有 PostgreSQL 9.2,你可以这样做:
结果将以 JSON 格式返回数组
然后在 php 方面的问题:
您也可以转换回来。这是 JSON 函数 页面