以下のような配列があります。
$a = array(
array("id" => 1, "name" => "njx", "count" => 0),
array("id" => 2, "name" => "peter", "count" => 4),
array("id" => 3, "name" => "jeffry", "count" => 2),
array("id" => 4, "name" => "adam", "count" => 6)
);
このようにフィルターを適用しました。
$fa = array_filter($a, function ($item) {
return ($item["count"] > 0);
});
次にusort
、変数に適用しました$fa
。その後、ループして$fa
いくつかの値を割り当てましたが、変数に反映されません$a
。
以下のようなもの、
usort($fa, 'comp');
foreach ($fa as &$t) {
$t["score"] = 120;
}
var_dump($a); //this doesn't contain "score" field.
だから私の質問は、元の配列参照でフィルター処理された配列を取得する方法ですか?