1 function getarray_postgresql($arraystr)
 2 {
 3     $regx1 = '/^{(.*)}$/';
 4     $regx2 = "/\"((\\\\\\\\|\\\\\"|[^\"])+)\"|[^,]+/";
 5     $regx3 = '/^[^"].*$|^"(.*)"$/';
 6     $match = null;
 7     preg_match( $regx1,$arraystr,$match);
 8     $str = $match[1];
 9     preg_match_all($regx2, $str,$match);
10     $items = $match[0];
11     $array = array();
12     $count = count($items);
13     for($index = 0; $index < $count;++$index)
14     {
15         preg_match($regx3, $items[$index],$match);
16         $array[$index]=end($match);
17     }
18     return $array;
19 }

在PHP从postgresql中读取的数据都是字符串的,一般的数据还好处理,但是postgresql有一种数组型的数据,而如果我们的数组是字符串的,前且,里面有逗号或斜线也是可能的,这就给我们读取带来了一定的麻烦,上面的函数是我奋斗了几个小时写出来的。尽可能的考虑到了斜线,逗号,引号的存在。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2022-01-02
  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
  • 2022-01-28
猜你喜欢
  • 2021-12-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2022-01-25
  • 2022-12-23
相关资源
相似解决方案