プログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

phpの無名関数で値を使いまわす場合は参照渡しが必須

題名通りです。

無名関数のuseに渡す値を参照渡しにしないと、毎回値がリセットされてしまうようです。

 

例として、まわりくどいですが、配列の重複を削除する方法。

array_unique使えばええやんというツッコミはなしで

 

$check_array = ;

$filterd_array = array_filter ($target_array, function($item) use (&$check_array) {

     if ( in_array($item, $check_array) ) {

           return false;

     }

     $check_array = $item;

     return true;

});

 

 

みたいな感じですかね。