在数据库postgresql中我有字段为INTEGER []。在那里,我有这样的数据:{2,3,55,122}当我从数据库中取这个数据时
$rs = getData();
$abc = $rs['raw'];
var_dump($abc);
输出
array(1) {
[0]=>
string(18) "{2,3,55,122}"
}
但我需要像这样的数组数据:
array(3) {
[0]=>
string(2) "2"
[1]=>
string(2) "3"
[2]=>
string(2) "55"
[3]=>
string(2) "122"
}
我怎么能从数据库层或php做到这一点。 一种方法只使用修剪和爆炸吗?
向上 ZEND中的getData函数
private function getData(){
$select = $this->objDB->select()
->from(array('tb' => 'table'), array('raw',))
->where('id = 10');
return $this->select($select,true);
}
答案 0 :(得分:1)
这是一个两步过程,可以通过内置函数轻松解决:
$abc = explode( ',' ,str_replace( array('{', '}') , '',$abc)) ;
从字符串中删除括号然后爆炸。
或者如你所说,你可以使用修剪:
$abc = explode( ',' , trim($abc , '{}')) ;