プログラマメモ2 - programmer no memo2

phpのlistは関数ではなく、言語の構成要素です。 2008/01/26

PHPのlistが便利だったのでメモ。



単一の操作で一連の変数に代入できます。
これが便利!!

コード参考
list($no,$date,$num1,$num2,$num3,$num4,$num5,$num6,$numb,$prize1_cnt,$prize1,$pr
ize2_cnt,$prize2,$prize3_cnt,$prize3,$prize4_cnt,$prize4,$prize5_cnt,$prize5,$ca
rrry_over,$amount) = preg_split("/[\s]+/", $s, -1, PREG_SPLIT_NO_EMPTY);


何をしているかといいますと、文字列をスペース、改行、タブなどで区切られていたら、配列にして、それをlistを使って、名前がついた変数に一気に代入しています。

これの何がうれしいかといいますと、次にこれからSQLを作成するときは、こんな感じでできたり。
$insert = "INSERT INTO loto6 VALUES($no,'$date',$num1,$num2,$num3,$num4,$num5,$n
um6,$numb,$prize1_cnt,$prize2_cnt,$prize3_cnt,$prize4_cnt,$prize5_cnt,$prize1,$p
rize2,$prize3,$prize4,$prize5,$amount,$carrry_over)";


変数の名前が、データベースのテーブルの列名と一緒だとわかりやすいですね。

listいいなぁ。
で、これはもちろん関数ではないんですよね。言語の表現力って感じですかね。
PHPのマニュアルに書いてありました。

array() と同様に、 この関数は実際には関数ではなく言語の構成要素です。 list() は、 単一の操作で一連の変数に値を代入するために使われます。PHP: list - Manual


Perlだと似たようなことが、もっといろいろできると思う。

参考

: