_onichannn

【PHP】ブラウザにPDF出力する際のヘッダーめも。

忘れるのでめも。

header('Content-type: application/pdf');
readfile('/path/to/file.pdf');
die();

 

【Javascript】++[[]][+[]]+[+[]] は “10”。

http://stackoverflow.com/questions/7202157/why-is-10

面白い記事をみつけたからためしたらマジだった。

++[[]][+[]]+[+[]]

↓

"10"

これは笑ったw

 

【jQuery】テーブルの最後の要素に行を挿入する。

めも。

例えば下記のようなテーブルがあったとして。

<table id="table">
  <tbody>
    <tr>aaa</tr>
    <tr>bbb</tr>
    <tr>ccc</tr>
  </tbody>
</table>

スクリプトは下記の通り。

$('#table tr:last').after('<tr>ddd</tr><tr>eee</tr>');

 

【Javascript】elementStyleで擬似hover属性を実装する。

cssファイルに記述するのがめんどくさい時。要素への記述のみでhoverが実現できたら楽だよね。

<a href="hoge.html" onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'">text</a>

こんな感じ

 

【jQuery】each()メソッドはキーを受け取れる。

という発見。

$('div').each(function(k) {
    k // これがキーになる
});

いままで自前でインクリメントしてたけど、これは便利。

 

【Linux】コマンドに特定文字列が含まれているプロセスを一括停止させる。

killコマンドを応用して実現する。

下記はCOMMANDに’PHP’を含むプロセスを一括でkillするコマンドの例。

kill `ps aux | grep php|cut -c10-14`

 

【PHP】foreach()で参照渡しする際の注意。

PHPのforeachは値を参照で渡すことができるが、ループ後の処理を適切に行わないと落とし穴にはまる。

具体的にはループを抜けた後に、ブロック内で用いていた変数をunsetしてやらなければならない。

foreach ($array as &$value) {
  // 処理
}
unset($value);

上記の例でもし$valueのunsetを忘れると、$valueは配列の最後の要素の参照を保持し続けるため、同じ変数名に値をセットした場合、元配列の最後の要素がその値に書き換わってしまう。

ということで、見落としがちだけど超重要。

 

【jQuery】jQueryのeach()メソッドでcontinue, breakする。

めも。

$('hoge').each(function(i) {
    if(i == 5) {
        return true; // continue
    }
    if(i == 15) {
        return false; // break;
    }
});

returnの値で制御することが可能。