月別アーカイブ: 2013年4月

phpの参照渡しについて

・phpのオブジェクトはデフォルトでは参照渡しとなる
http://php.net/manual/ja/language.oop5.references.php

・もうひとつ。関数の戻り値の参照渡しについて。

<?php
class HelloWorld {
    var $value = "default";
    function &getValue() {
        return $this->value;
    }
}

$helloWorld = new HelloWorld();
$v =& $helloWorld->getValue();
$v = "HelloWorld";
print $helloWorld->value;

これで「HelloWorld」と出力される。関数「&getValue」の「&」とメソッド実行の戻り値「=&$helloWorld->getValue();」の「&」のどちらが抜けても参照渡しにはならない。その場合は値渡しとなり「default」と出力される。
http://d.hatena.ne.jp/cloned/20060510

・foreachの参照渡しについて
http://php.net/manual/ja/control-structures.foreach.php

・まとめ
http://jun3001.com/?p=92

幅優先探索(breadth first search)について勉強になったサイト

・解説
http://itpro.nikkeibp.co.jp/article/COLUMN/20120827/418466/?ST=develop&P=3
http://d.hatena.ne.jp/keyword/%C9%FD%CD%A5%C0%E8%C3%B5%BA%F7

・PHPで書かれたサンプルコード
http://www.stoimen.com/blog/2012/09/10/computer-algorithms-graph-breadth-first-search/

・関連記事、深さ優先探索について
http://d.hatena.ne.jp/lettas0726/20110418/1303097692

・phpの関連関数
array_shiftはキュー
array_popはスタック
イメージとしてキューは底のない入れ物で、最初に入れた物が取り出される時はどの物よりも最初になる
スタックは底のある入れ物で、最初に入れた物が最後に取り出される

画像を遅延読み込みさせるjqueryのlazy loadをjquery mobileで使用するには

画像がうまく読み込まれなくて躓いていたが、解決に至ったサイト
http://stackoverflow.com/questions/10236358/lazy-loading-images-within-jquery-mobile

lazy loadの使い方
http://www.appelsiini.net/projects/lazyload

自分のソースコードの抜粋

<script>
$(document).delegate('#archive', 'pageinit', function() {
    $(this).find(".image").lazyload({
        effect: "fadeIn",
        effectspeed: 1000,
        threshold : 200
    });
    $('#archive').trigger("create");
});
</script>
<img src="ダミーの画像URL" data-original="実際の画像URL" class="image">

htmlspecialcharsとhtmlentities

htmlspecialcharsはデフォルトで4つの文字(<、>、&、”)をHTML の表現形式に変換します。対して、htmlentitiesはデフォルトで先の4つを含む100個の文字を変換します。より厳密にエスケープしたいなら、 htmlentitiesを使う必要があります。