• 締切済み

PostgreSQLの配列項目のデータ展開の方法がわかりません

PostgreSQL7.4 + PHP4.3 + Pearの環境です。 配列の項目から要素を展開しようとしたところでハマりました。 $sql = "select * from T"; $result = $db->query($sql); $row = $result->fetchRow(DB_FETCHMODE_OBJECT)) $id = $row->id; $a1 = $row->a1; a1は配列項目で、0,1,2,3 のように要素が入っているのですが、上のソースだと、 $a1[1]='{' $a1[2]='0' $a1[3]=',' $a1[4]='1' のように展開されてしまいました。select文からみるとa1項目は {0,1,2,3} という文字列で入っているのがわかりました。 SQL文が select a1[1],a1[2],a1[3],a1[4] from T; のような形だと正しく取得できますが、実際は配列の要素数が不定なのでこのようなSQLは使えません(長くなるし) 色々調べてみましたが、 $a1='{0,1,2,3}' を $a1[1]='0' $a1[2]='1' $a1[3]='2' $a1[4]='3' に展開する関数が見当たらないみたいです。PostgreSQLの配列項目を扱ったのは初めてなのでとまどっているのですが、簡単にarray変数に展開する方法はないでしょうか。

みんなの回答

回答No.1

splitじゃダメなの?

kyura
質問者

お礼

回答ありがとうございます。結局、自力で解決しました。explodeを使いました。

関連するQ&A