Posted in PHP onApril 14, 2013
function getarray_postgresql($arraystr) { $regx1 = '/^{(.*)}$/'; $regx2 = "/\"((\\\\\\\\|\\\\\"|[^\"])+)\"|[^,]+/"; $regx3 = '/^[^"].*$|^"(.*)"$/'; $match = null; preg_match( $regx1,$arraystr,$match); $str = $match[1]; preg_match_all($regx2, $str,$match); $items = $match[0]; $array = array(); $count = count($items); for($index = 0; $index < $count;++$index) { preg_match($regx3, $items[$index],$match); $array[$index]=end($match); } return $array; }
在PHP从postgresql中读取的数据都是字符串的,一般的数据还好处理,但是postgresql有一种数组型的数据,而如果我们的数组是字符串的,前且,里面有逗号或斜线也是可能的,这就给我们读取带来了一定的麻烦,上面的函数是我奋斗了几个小时写出来的。尽可能的考虑到了斜线,逗号,引号的存在。
PHP 读取Postgresql中的数组
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@