JavaScriptのObject.keys()でオブジェクトが空かどうか調べる

配列の場合はarray.lengthで長さを調べることができる。それと同じようにオブジェクトについてもObject.keys(hash).lengthのように長さを調べることができるのでオブジェクトが空かどうか調べられる

以下に例を示すと

var hoge = {
hage: 1,
hage2: 2,
hage3: 3
};
console.log(Object.keys(hoge).length);

出力結果はこのようになる

$ node test.js
3

続いて空の例を示す

var hoge2 = {};
console.log(Object.keys(hoge2).length);

このように0となった

$ node test.js
0

PHPの連想配列をキーでかっこ良くフィルタリングする

foreachで回しても良いがキーを基準にして配列の共通項を計算するarray_intersect_key()を使うのがいい

<?php
$array = [
'hoge1' => 'value1',
'hoge2' => 'value2',
'hoge3' => 'value3'
];
$array2 = ['hoge2' => '']
$filter = array_intersect_key($array, $array2);
print_r($filter);

結果こうなる

Array
(
[hoge2] => value2
)

$array2に含まれる連想配列と同じものを$array連想配列から取り出すみたいな。言葉にして説明するのって難しい。

JavaScriptの正規表現に変数を使う

var div = window.document.getElementsByTagName('div');
var array = Array.prototype.slice.call(div);
var name = 'div';
array.forEach(function(node){
var regexp = new RegExp(name, 'i');
if (regexp.test(node.nodeName)) {
console.log('matchした');
}
});

new RegExp()を使えばOK

php composer.phar updateでエラーがでる

30日より前のものなんでcomposer.phar self-updateで最新バージョン取得してくださいっていってるぜ

$ php composer.phar update
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.
Loading composer repositories with package information
Updating dependencies (including require-dev)

これでおっけー

$ php composer.phar self-update

KnockoutでHTMLを出力する

KnockoutでHTMLを出力したい時

<span data-bind="text: myMessage"></span>

こうなっているところのtextをhtmlにするだけ

<span data-bind="html: myMessage"></span>