1

キーのないFROM配列:

$array = array('apple','bee','carrot','dragon','elephant')

$newarray = ($apple,$bee,$carrot,$dragon,$elephant)

理由:次のように、mysqlデータベースからフィールドを取得するための柔軟な関数を作成したいと思います。

<?php
$query = "SELECT ".$array." FROM table";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
        extract($row);
        echo $newarray;
}
?>

だから私はできた:

  • アップル、ビー、ニンジン、エコー$ apple、$ bee、$carrotを選択します
  • ミツバチ、ニンジン、ゾウ、エコー$ bee、$ carrot、$elephantを選択します
  • または何でも。
4

2 に答える 2

3

データベースから連想配列を取得してから、次のように連想配列のキーを使用してみませんか。

// assume field names are 'apple', 'bee', 'carrot', etc.
while($row = mysql_fetch_assoc($result)){    
    foreach($row as $key => $value) {
        // this will set variables as $apple, $bee, $carrot, etc.
        $$key = $value;
    }
}

もちろん、変数が上書きされるだけなので、結果セットに複数の行がある場合、これはそれほど実用的ではありません。

あなたがしたいことの鍵は、可変変数の使用です($$keyこの場合)

そうそう、mysql_* 関数を使用するのではなく、mysqli_* または PDO を使用する必要があります。

于 2012-08-31T18:13:05.867 に答える
0
foreach($array as $value){
    $newarray[] = ${$value};
    //Edited: maybe you'll need to reset the array after use it
    unset($newarray);
}

とった!

皆さんありがとう!

于 2012-08-31T18:47:37.367 に答える