1

多次元配列がどのように機能するかは理解していますが、これは初めてです。

例えば。

$arrayAns = array( subject => "he"),
            array( subject => "I"),
            array( subject => "they");

私がやろうとしているのは、データベースから変数を取得して配列に格納することです。

$query = "SELECT subject FROM #__wordBank ORDER BY RAND() LIMIT 1";
        $db->setQuery($query);
        $rows=$db->loadObjectList();

$arrayAns = array( subject => "$rows")

それはそれを行う方法ですか?

4

4 に答える 4

0

ほとんど!しかし、完全ではありません

これが私がこれについてどうするかです:

$arrayAns = array(
    array('subject' => "he"),
    array('subject' => "I"),
    array('subject' => "they")
);

$query = "SELECT subject FROM #__wordBank ORDER BY RAND() LIMIT 1";
$db->setQuery($query);
$rows=$db->loadObjectList();

$arrayAns[] = array('subject' => $rows);
于 2012-07-16T09:55:08.520 に答える
0

これを試してください:データベースからの結果がに保存されている場合rows

$newArray = array();
foreach($rows as $key=>$value) {
 $newArray[] = $value;
}

ここでは、のすべての変数$valueがに格納されますnewArray

また、array_pushを参照してください

于 2012-07-16T09:54:16.257 に答える
0

構文を次のように変更します(いくつかの構文エラーもありました)-

// original multidimensional array
$arrayAns = array(
  array( "subject" => "he"),
  array( "subject" => "I"),
  array( "subject" => "they")
);

// execute query
$query = "SELECT subject FROM #__wordBank ORDER BY RAND() LIMIT 1";
$db->setQuery($query);
$rows=$db->loadObjectList();

次に、元の配列に別の要素を追加します。省略形の[]構文を使用して、別の要素を配列の先頭にプッシュできます。

$arrayAns[] = array('subject'=> $rows['subject']);

その行は機能的にこれと同じです-

array_push($arrayAns, array('subject'=> $rows['subject']));
于 2012-07-16T09:54:43.433 に答える
0

使用しているDBAPIによっては、データを多次元配列として自動的に取得するオプションがある場合があります。$ rows-> toArray()が可能かどうかなどを確認してください。

それ以外の場合、最適ではありませんが、簡単でクリーンな方法は、$ rowsリストを調べて、必要な配列を作成することです。

ところで、上で定義した配列は、PHPでは次のように定義されています。

$myArray = array(
    array(
        'subject' => 'he'
    ),
    array(
        'subject' => 'I'
    ),
    array(
        'subject' => 'they'
    )   
);
于 2012-07-16T09:57:00.307 に答える