2014-06-13 31 views
0

在數據庫postgresql中,我的字段爲INTEGER []。在那裏我有像本實施例中的數據:{2,3,55,122}當我從DB如何從數組中獲取數據從數組到數組變量在PHP中

藉此數據
$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

private function getData(){ 
$select = $this->objDB->select() 
->from(array('tb' => 'table'), array('raw',)) 
->where('id = 10'); 
return $this->select($select,true); 
} 
+0

郵政'的getData()'函數,或者至少你如何建立你的選擇查詢 – Javad

+0

我加入的getData功能 – user3733929

+0

儘管對於這個問題,你可以處理它與PHP很快。我想你應該更好地瞭解PostgreSQL中數組類型的工作原理。爲您的參考:http://www.postgresql.org/docs/8.4/static/arrays.html#ARRAYS-DECLARATION –

回答

1

的getData函數這是一個兩步驟的過程,很容易與內置的功能解決:

$abc = explode(',' ,str_replace(array('{', '}') , '',$abc)) ; 

從字符串刪除括號,然後爆炸。

或如你所說,你可以使用修剪:

$abc = explode(',' , trim($abc , '{}')) ; 
+0

太好了,thx求助 – user3733929