タグ

2008年5月20日のブックマーク (10件)

  • PHP: ビット演算子 - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: ビット演算子 - Manual
  • 関数の値渡しと参照渡しどちらが速い? - PHP Note

    C言語では、値渡しの場合は値のコピーが渡され、参照渡しの場合は値のアドレスが渡される。単純に考えて参照渡しの方が高速そうですが PHPはどうなのか? これまた確かめてみないと納得できない性格なのでやっちゃいました。 リファレンス == 実体の別名 2004-02-25: PHPの場合、C語と異なり、参照渡し・値渡しの違いは、値が変更された時に初めて起こることが、PaKa様のご指摘によりわかりました。ありがとうございました。 関数に渡した時点ではどちらも「実体」を示す「ポインタのようなもの」が渡されていて、関数内で変更された時はじめて渡した値がコピーされるという動作のようです。つまり受け取った変数を変更しなければ値渡しと参照渡しで差は無いということです。 PHP では「 参照 」と「 リファレンス 」どちらの言葉も使いますが、C語におけるポインタやアドレス渡しを指す参照とは違い、PHP の参

  • cloned.log - PHPの参照渡しは関数の引数だけじゃない

    PHPの参照渡しについて。参照渡しについて説明しているサイトでは圧倒的に関数の引数を例にしていることがほとんど。例えば以下のような感じ。 <?php $v = "default"; rewrite($v); print $v; function rewrite(&$arg) { $arg = "HelloWorld"; } これで「HelloWorld」と出力される。$vを直接変更していないのに、rewrite関数内での変更が$vに対して有効になっていると解く。関数の引数に「&」を付けなければ上書きされることはない(値渡し)。 最初はこれが一番判り易いけれど、もう一歩、変数代入の参照渡しと関数戻り値の参照渡しにも触れて欲しいところ。特に関数戻り値の参照渡しについて触れているサイトが当に少ない。 変数代入の参照渡しというのは以下のコードのような場合。 <?php $a = "default

    cloned.log - PHPの参照渡しは関数の引数だけじゃない
  • PHP4,5での参照渡しについて具体的な利用方法を教えて下さい

    PHP4,5での参照渡しについて具体的な利用方法を教えて下さい。 1. function example() と function &example() は、どういう場合に使いわけるのか? 2. function example($arg) と function example(&$arg) は、どう違うのか? 3. $result = example(); と $result =& example(); の具体的な違い 値渡しは、そのまま値を渡し、参照渡しは、メモリのアドレス?を渡すという程度の理解はしております。しかし、具体的などういう意味で、どういう時に使うのかがピンと来ません。 よくわからないので、自分では値渡ししか利用していませんが、他人のコードの意味がよくわからなかったり、参照渡しのコードが変更できなかったりします。 こんな時にこれを使うという具体例でも構いません。

  • 52. callbackあれこれ

    PHPの関数の中には、callback関数を適用することでユーザーが任意の操作を行えるようにする関数も多く存在します。今回は、callbackまわりのちょっとした小ネタについてご紹介します。 callback関数を呼び出すような関数を使用しようとすると、単純な処理にもかか わらずいちいち関数を定義しなければいけません。 1つぐらいなら気になりませんが、いくつも使用することになると、1回しか使 わない関数定義が増えてしまって、ちょっと気になります。 そのような場合には、create_function関数を活用することができます。 create_function関数は匿名関数を作成する関数で、第1引数に匿名関数の引数 となる文字列、第2引数にコードブロックに該当する文字列を指定します。 例えば、以下のような処理を行う際 $result = array_map('call_func', $arr

    52. callbackあれこれ
  • PHP extension からコールバックで hello, world を表示する « ku

    最近まわりでPHPのエクステンションを作るのがはやっているのでPHPのエンステンションを作ってみました。 実装されている関数からcallbackでPHP側で定義したユーザ関数を呼び出したいけどどうするの、というのがわからず、そもそもできるのかなーとおもってogiちゃんにきいたら “ext/standard/basic_functions.c の call_user_func とかみたらわかるよ” と教えてもらえたので、とにかく書いて動くようにするだけですみました。ありがとうございます。 とりあえずextensionを作るところまでは DSAS開発者の部屋:PHP Extension を作ろう第1回 - まずは Hello World を見てやればオーケー。ただはじめのスケルトン生成にフルパスで –skel が必要でした。(on OSX10.4) ./ext_skel --extname=

  • PHP: call_user_func - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: call_user_func - Manual
  • PHP: 変数のスコープ - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: 変数のスコープ - Manual
    overdrive_596
    overdrive_596 2008/05/20
    「例2 globalのかわりに$GLOBALSを使用する」
  • いろいろ備忘録日記

    2024-08-21 Goメモ-455 (flagパッケージ再入門)(02-Var) golang 関連記事 概要 サンプル 参考情報 Goのおすすめ書籍 関連記事 Windows Terminal上でNushellを使うとプロンプトがチカチカ(blink) する件 - いろいろ備忘録日記 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ 概要 以下、自分用の… #golang 2024-08-20 Goメモ-454 (flagパッケージ再入門)(01-FlagSet) golang 関連記事 概要 サンプル 参考情報 Goのおすすめ書籍 関連記事 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ 概要 以下、自分用のメモです。忘れないうちにメモメモ。。。 最近、flaggy とかを

    いろいろ備忘録日記
  • PHP: pg_meta_data - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: pg_meta_data - Manual