ウェブコーディング

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. ウェブコーディング

    NetBeansでSQliteのドライバーを有効にするプラグイン

    PHPなどのwebアプリケーションを作成できるNetBeansですが、…

  2. ウェブコーディング

    WordPressでも簡単に使えるってほんと?会話風吹き出しのCSSテンプレート

    会話風吹き出しのテンプレートとして使えるCSSを作ってみました。会…

  3. ウェブコーディング

    CSSのfloatを使ってリキッドレイアウトを組んでみた

    先日ふと思い立って、一からWEBサイトをデザインし始めることにしたので…

  4. ウェブコーディング

    意外と重要なCSSのidとclassを使い分け

    WordPressテーマを作ったり、ホームページを作ったりするとき、間…

  5. ウェブコーディング

    PHPで配列と文字列の変換をデータベースに応用する方法

    データベース検索などを利用するときに、$_POSTや$_GETで受け取…

  6. ウェブコーディング

    PHPなどのプログラムコードをUTF-8で保存するときの注意点

    サーバーで実行されるPHPやJavascriptなどをテキストエディタ…

コメント

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

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

CAPTCHA


スポンサードリンク

カテゴリー

ピックアップ記事

WordPressテーマ「MAG(TCD036)」     ロゴマルシェ - LogoMarche   ボタンマルシェ - ButtonMarche
  1. ブログの収益化

    報酬の受取に苦労してません?Amazon・楽天のアフィリエイトで効率的に報酬を受…
  2. ブログの収益化

    無料レポートスタンドの「メルぞう・Xam」を120%使い倒す方法
  3. ブログやサイトの作り方

    自作?外注?その前にコレ!ブログのロゴデザインをするなら「Logaster」を使…
  4. グラフィックデザイン

    無料でクオリティが高く、検索機能が利用できる画像素材サイト3選
  5. 便利なツールの話

    レイアウトデザインに最適な無料ソフト「inkscape」(≒Illustrato…
PAGE TOP