DBのデータとCSVから読み込んだデータで整合性をとる必要があり、比較どうしようかと悩む。
単なる一次元配列ならarray_diffで簡単にできるのにと思ったところで、シリアライズすればと思いついた。
型も比較されることになるので注意。
$data1[] = array('key' => 1, 'name' => 'A', 'sex' => 'man');
$data1[] = array('key' => 2, 'name' => 'B', 'sex' => 'woman');
$data1[] = array('key' => 3, 'name' => 'C', 'sex' => 'woman');
$data2[] = array('key' => 1, 'name' => 'A', 'sex' => 'man');
$data2[] = array('key' => 2, 'name' => 'B', 'sex' => 'woman');
$data2[] = array('key' => 3, 'name' => 'D', 'sex' => 'woman');
var_dump(matrix_diff($data1, $data2));
var_dump(matrix_diff($data2, $data1));
function matrix_diff($arr1, $arr2)
{
return array_map('unserialize', (array_diff(array_map('serialize', $arr1), array_map('serialize', $arr2))));
}
あまりにも件数が多いようだとDBにテンポラリテーブル作成して作業するしかないですかね。
いい方法が思いつかない。
右ストレートでぶっとばす。まっすぐ行ってぶっとばす。
右ストレートでぶっとばす。まっすぐ行ってぶっとばす。
右ストレートでぶっとばす。まっすぐ行ってぶっとばす。
定時退社のマッハ帰宅でNANA MIZUKI LIVE MUSEUM×UNIVERSE買いました。
いや、甲賀忍法帖を聞きたかったんです?
ほとんどノーカットでcherry boysもナイスでした。
ケニーいいよケニー。
FENCE OF DEFENSEのギターね。
なんか知った顔が映ってた気もします。
6時間弱時間オーバーはさすがにきっついです。
5年たってもほとんど環境が変わってないことに驚きつつ。
DVDプレイヤー入ってないからDirectShowフィルタを追加しようとしたけどやり方忘れた。
昔はPowerDVDの利用してたのですが、ファイル自体もどっかいったので仕方なくWinDVDの体験版をインストール。
AviUtilで音声の出力にmp3が一部しか選べない。
ラディなんたらコーデックだっけ?
もともとLameでwavヘッダmp3エンコードしてくっつける派だったのでいらない。
ウェーブレットノイズフィルタの使い方忘れた。
最近は元ソースが素敵なのであんまりいらなげだけど。
YC伸張フィルタと拡張色調補正でベストの値を見つけるのが(ry
めんどいので時間軸だけ軽くかけるだけにしました。
もう、細かい設定やって何度も2パスエンコする気力がないですorz
米Yahoo!も注目しているということで試してみた。
インストール時にNoticeエラー多発。
日本語インストールをしてみたものの、どこを日本語化?というレベル。
がっかり。
PHP 5.2.3リリース
mysql_set_charset関数が追加されました。
mysqlのコネクション作成時点でクライアント文字セットが決定し、mysql_client_encoding関数の戻り値が不変でした。
mysql_real_escape_string関数は現在のクライアント文字セットでエスケープするため、”SET NAMES”をクエリしてクライアント文字セットを変更した場合には反映されず脆弱がありました。
SJIS通すと5cをしっかりエスケープしてくれてうまくいかなかったんですよ。
よかったよかった。
結果的に微妙だったのですが。
Relay: Ajax Directory Manager
必須環境はサイトによると
* PHP version 4+
* MySQL version 4+
* Perl 5.8.0 (for upload progress)
* Apache/IIS
これだけかと思ったら、上記は必須で他にもいろいろ必要でした。
php extensionではGD2、Fileinfo。
バイナリでImageMagick、ghostscript。
これは何につかってるのか不明ですが。
初回アクセス時にインストーラでコンフィグファイルつくってくれるんですが、そのファイルのphpタグが「<?」でした。
UTF-8なので普通に日本語は通ります。
いいかなと思ったところで致命的な問題発見。
アップロードしたpngファイルの種類が「text/plain」に。
これ、どこかでひとつひとつ設定?
でも、GDはいってるし。
これ解決しないと使えない。
そもそもクロージャって何さというところからスタートしたのですが、
クロージャ
自身が定義された環境(静的スコープ)において解決する関数のことである。関数とそれを評価する環境のペアであるともいえる。
p0t: PHPでクロージャ
なんとなくふんいき(なぜかへんかんできない)は理解。
<?php
function get_adder() {
return create_function('', 'static $count = 0; return ++$count;');
}
$adder = get_adder();
echo $adder(); // 1
echo $adder(); // 2
echo $adder(); // 3
$adder2 = get_adder();
echo $adder2(); // 1
echo $adder2(); // 2
echo $adder2(); // 3
?>
それっぽい結果がでてるだけで違う気がする。
<?php
function get_adder() {
$count = 0;
return create_function('', 'static $count = ' . $count . '; return
++$count;');
}
$adder = get_adder();
echo $adder(); // 1
echo $adder(); // 2
echo $adder(); // 3
$adder2 = get_adder();
echo $adder2(); // 1
echo $adder2(); // 2
echo $adder2(); // 3
?>
これは明らかに違うと思う。
実装しようとするとcreate_function使うことになるけど、create_functionの仕様的に無理?
勉強して出直してきます。。。