web-dev-qa-db-ja.com

連想配列をインデックス付き配列に変更する/非連想配列としてZend_Table_Row_Abstractを取得する

Stacklandでこんにちは。連想配列をインデックス付き配列に変更する関数または簡単な方法があるかどうか疑問に思っていました。

詳細に説明するために、私はZendフレームワークを使用しています。サイトでは、SQLテーブルの行を連想配列として取り出すポイントがあります。 JSONにエコーされてjavascriptに渡しました。しかし、Firebugでデータベースの列の名前を見ることができることに気付きました。部外者にテーブルと列の名前を知ってもらうことは大きなセキュリティです。だから私はそれを

SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.

SQLarray[0]
SQLarray[1]
SQLarray[2] etc.

これを行う良い方法はありますか?

Zend_Table_Abstract-> fetchAll()が非連想配列を返すようにすることもできますが、それは可能だとは思いません。ご協力いただきありがとうございます!

53
Ethan

純粋なphpは大丈夫ですか?

$array = array_values($array);

ソース

143
Ian Elliott

関数を定義する

_function array_default_key($array) {
    $arrayTemp = array();
    $i = 0;
    foreach ($array as $key => $val) {
        $arrayTemp[$i] = $val;
        $i++;
    }
    return $arrayTemp;
}
_

連想配列をパラメーターとして渡すと、配列のデフォルトのインデックスに変換されます。たとえば、関数の呼び出し後に配列がArray('2014-04-30'=>43,'2014-04-29'=>41)になるArray(0=>43,1=>41)があります。

4
user3567805