無名関数、技術初歩垂れ流し。
この投稿は1年以上前に公開されました。 現在の情報とは異なる可能性がありますので、ご了承ください。
無名関数、技術初歩垂れ流しときます。
わからない人はわからないかもしれませんが、
分かる人にはわかるという・・・何ともそのまま何ですけどね。
無名関数を使うにあたってキーになるのは USEとcall_user_funcかな。
これさえ覚えとくと便利かもしれないなと思います。
習うより慣れよということでソースコード貼っときます。
じぶんの脳内は文字を読んで理解しているタイプではないので
図や絵柄など空間的な感覚でアルゴリズムを覚えています、なので
仕様書とか読んでもあまり頭に入ってくることがないのですね。
それよりかは、トライアンドエラーを繰り返して覚えるか、口頭などで
事細かに説明してもらったほうが、頭に入ってくることが多いです。
<?php
//無名関数1
$q = function($s){
$ss = $s."FF15!!]]";
return $ss;
};
define("ff",$q("[[ now on sale "));
//var_dump(ff);
//無名関数2
$hoge = ff;
$f = function() use ($hoge){
return explode(" ",$hoge);
};
//var_dump($f());
//無名関数3
function mumei(){
$m = 2222;
$d = 22;
return function() use ($m,$d){
$a = $m * $d;
return $a;
};
}
$a = mumei();
//var_dump($a());
//無名関数4
if(is_array($s =
call_user_func(function(){
$r = [];
for($i=0;$i<10;$i++){
$r[$i] = $i;
}
return $r;
})
)){
//var_dump($s);
}
print(implode("<br>",explode("\n",'
string(23) "[[ now on sale FF15!!]]"
array(5) {
[0]=>
string(2) "[["
[1]=>
string(3) "now"
[2]=>
string(2) "on"
[3]=>
string(4) "sale"
[4]=>
string(8) "FF15!!]]"
}
int(48884)
array(10) {
[0]=>
int(0)
[1]=>
int(1)
[2]=>
int(2)
[3]=>
int(3)
[4]=>
int(4)
[5]=>
int(5)
[6]=>
int(6)
[7]=>
int(7)
[8]=>
int(8)
[9]=>
int(9)
}
')));