私はこのコードを$ wpdbを使うように変換しようとしています。
$data = array();
$query = "SELECT * FROM videos";
$query_exec = mysql_query($query) or die();
while($row = mysql_fetch_array($query_exec)) {
if ( $row['video'] == "http://youtu.be/".end(explode('http://youtu.be/',$row['video'])) ) {
$data[$row['id']] = end(explode('http://youtu.be/', $row['video']));
} else {
$data[$row['id']] = end(explode('?v=', $row['video']));
}
}
だから私はしました:
$query = $wpdb->get_results("SELECT * FROM videos");
しかし、どうすれば配列を取得できますか?ご協力ありがとうございます。
wpdb
のget_results
メソッドは、データがどのように返されるかを指定できるオプションの2番目の引数を取ります。デフォルトの戻り値はオブジェクトです。しかし、あなたはそれをに設定することもできます...
OBJECT - 結果は、行オブジェクトの数値インデックス配列として出力されます。
OBJECT_K - 結果はキーとして最初の列の値を使用して、行オブジェクトの連想配列として出力されます(重複は破棄されます)。
ARRAY_A - 結果は、列名をキーとして使用して、連想配列の数値インデックス配列として出力されます。
ARRAY_N - 結果は、数値インデックス配列の数値インデックス配列として出力されます。
( コーデックス から)
おそらくARRAY_A
が欲しいでしょう。
<?php
$query = $wpdb->get_results("SELECT * FROM videos", ARRAY_A);
残念ながら、wpdb
ではあなたがしているような結果を「ストリームイン」することができないので、foreachループを使う必要があります。
<?php
foreach($query as $row)
{
// do stuff with $row here.
}