ウェブコーディング

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

関連記事

  1. ウェブコーディング

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

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

  2. ウェブコーディング

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

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

  3. ウェブコーディング

    WordPressのテーマ・テンプレートのディレクトリを取得する方法

    WordPressのカスタマイズをするとき、親テーマと子テーマのどちら…

  4. ウェブコーディング

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

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

  5. ウェブコーディング

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

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

  6. ウェブコーディング

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

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

コメント

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

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

CAPTCHA


スポンサードリンク

スポンサードリンク

inkscapeを学ぶ

カテゴリー

ピックアップ記事

   
  1. 特集

    無料でクオリティが高く、検索機能が利用できる画像素材サイト3選
  2. ブログの収益化

    報酬の受取に苦労してません?初心者でもAmazon・楽天のアフィリエイトで効率的…
  3. グラフィックデザイン

    自作?外注?その前にコレ!ブログのロゴデザインをするなら「Logaster」を使…
  4. ブログやサイトの作り方

    月額100円から使える「ロリポップレンタルサーバー」
  5. 特集

    inkscapeの使い方を集めたスキルアップのための日本語チュートリアル集
PAGE TOP