ウェブコーディング

PHPでデータベースから取得した配列を加工する方法

データベースからデータをfetch関数などで取得すると、大体は2次元配列の構造になっています。

この2次元配列の構造から特定データを利用するときに意外と苦戦するので、まとめ書きをしておこうと思います。

データベースから得られる配列の構造

PHPでデータベース操作をする場合に一番多く使われているのはPDOクラスの汎用データベース関数群だと思います。

PDOクラスを利用してデータベースからデータを取得するには、SQL文のSELECT構文を作り、PDOクラスのqueryメソッドを使います。

最後のprint_rで配列の全てのデータを表示することができます。

例えば、会員ID(id)、名前(name)、年齢(age)をカラムに設定してあるテーブルを考えます。

id name age
test1 Tanaka 34
test2 Sato 55
test3 Yamada 26

このテーブルのデータを上記のコードで取得すると次のように表示されます。

1行目のデータが配列の第1要素として取得され、その中に連想配列と添字配列の形式でそれぞれのデータが格納されます。

この配列構造を2次元配列と言います。

データベースから取得したデータをカラムごとに整理する方法

通常はデータベースから取得したデータはテーブルの行ごとに処理されることが多いのですが、テーブルのカラムごとに処理したいという場合もあります。

先ほどのテーブルで言うと、例えばidのカラムだけを取り出して配列操作を行いたい場合です。

id
test1
test2
test3

こういう場合にはarray_columnを使います。

array_columnは多次元配列の中の要素から特定のキーに該当するデータを配列として取り出す関数です。

$array はカラムを取り出す元の配列を指定します。

$column_key は取り出したいカラムの名称(キー)を文字列で指定します。

$index_key は取り出しの際に並べ替えを行うオプションです。必要がなければ指定する必要はありません。

これを使って先ほどデータベースから取り出した$dataのidだけを抽出するには次のようにします。

次のように表示されます。

idだけを抽出して配列として作りなおすことができました。

ここからは通常の配列として操作すれば希望通りの処理を行うことができます。

 

私の場合はwebアプリケーションの設定情報の操作に利用しています。

array_columnの詳細は公式ページを参照して下さい。

⇒ http://php.net/manual/ja/function.array-column.php

記事が気に入ったら
tipLog を "いいね!"
Facebookで更新情報をお届け。

tipLog

WordPressテーマ

WordPressテーマ「MAG(TCD036)」

スポンサードリンク

関連記事

  1. グラフィックデザイン

    アイコンの基本は抽象化!特徴を見つけて基本図形に落としこむ方法

    作りたいアイコンやロゴがあるときに、なかなかアイデアが浮かばないという…

  2. チュートリアル

    無料のURL短縮ツール「ClickScope」をサーバーに設置する方法

    コスト削減も兼ねて、無料のURL短縮ツール「ClickScope」をサ…

  3. ウェブコーディング

    PHPの基本的な文法と変数のまとめ

    どんなPHP文でも必ず従わなければいけない文法があります。その初歩…

  4. グラフィックデザイン

    手作業は最小限で!inkscapeで「カラフルなドットパターン」の作り方【SVG/PNGサンプルあり…

    「ドットパターンを作る」って聞いて、難しく感じる人が多いような気がする…

  5. ウェブコーディング

    プラグイン不要!2ステップで完了!「FontAwesome」をWordPressに導入してアイコンを…

    ブログのカスタマイズをするとき、必要なアイコンをいちいち画像化して、フ…

  6. ウェブコーディング

    WordPressの記事内でPHPを実行した結果を表示する方法

    WordPressの記事内でPHPを実行できると、記事に表示できるコン…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


スポンサードリンク

ピックアップ記事

スポンサードリンク

カテゴリー

  ロゴマルシェ - LogoMarche   ボタンマルシェ - ButtonMarche
WordPressテーマ「ANGEL(TCD047)」
  1. グラフィックデザイン

    レイアウトデザインに最適な無料ソフト「inkscape」(≒Illustrato…
  2. ブログ収益化

    無料レポートスタンドの「メルぞう・Xam」を120%使い倒す方法
  3. 素材

    無料でクオリティが高く、検索機能が利用できる画像素材サイト3選
  4. グラフィックデザイン

    フォトレタッチ・グラフィックデザインの無料ソフト「GIMP」(≒Photosho…
  5. グラフィックデザイン

    自作?外注?その前にコレ!ブログのロゴデザインをするなら「Logaster」を使…
PAGE TOP