加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP数组到postgres数组

发布时间:2020-12-13 22:37:01 所属栏目:PHP教程 来源:网络整理
导读:现在php无法直接用 postgresql数组工作.例如,php采用postgresql数组之类的 ‘{ “foo” 的,“酒吧”}’ 我需要简单的PHP函数来从php数组创建多维postgresql数组. 我认为实验性的pg_convert()不是最优的,因为它需要额外的数据来形成数据库输出的简单数组字符
现在php无法直接用 postgresql数组工作.例如,php采用postgresql数组之类的
‘{ “foo” 的,“酒吧”}’

我需要简单的PHP函数来从php数组创建多维postgresql数组.

我认为实验性的pg_convert()不是最优的,因为它需要额外的数据来形成数据库输出的简单数组字符串,也许我误解了这个函数的想法.

例如,我需要转换

$from=array(  array( "par_1_1","par_1_2" ),array( "array_2_1","array_2_2" )  );
$to='{{"par_1_1","par_1_2"},{"par_2_1","par_2_2"}}';

我可以使用array_walk_recursive()来转换数组中最深的元素吗?

这是一个将PHP数组转换为PG数组的简单函数.
function to_pg_array($set) {
    settype($set,'array'); // can be called with a scalar or array
    $result = array();
    foreach ($set as $t) {
        if (is_array($t)) {
            $result[] = to_pg_array($t);
        } else {
            $t = str_replace('"','"',$t); // escape double quote
            if (! is_numeric($t)) // quote only non-numeric values
                $t = '"' . $t . '"';
            $result[] = $t;
        }
    }
    return '{' . implode(",",$result) . '}'; // format
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读