初めて、list() という関数を知ったので、簡単にまとめます。
listの引数は、変数として、代入する配列形式の値を設定できます。
list($a, $b, $c) = array ( ‘apple’, ‘banana’, ‘cherry’);
echo $a; // apple
listに代入する値には、空文字や文字列は使えない。配列形式のみ。
DBから取得した値もそのまま使える。
$result = $pdo->query(“SELECT id, name, age FROM person”);
while ( list( $id, $name, $age) = $resulet->fetch(POD::FETCH_NUM)) {
echo ” $id : $name : $age”; // 1 : Taro : 20 みたいな。。。
}
PDO::FETCH_ASSOC だと、配列のキー名は、カラム名になるので、listは使えない。
この場合、$rows = $resulet->fetch(POD::FETCH_ASSOC); として、
foreach ( $rows as $data) {
echo $data[‘id’];
}
みたいに取り出すしかないか。。。
データを取り出して、一度に変数に代入して、使うときは、便利なのかな?
どっちがいいのか・・・
とりあえず、listを使うときは、配列のキー名は、数値にしないといけない。