Kuşkusuz kullanmak array_map
ve ArrayAccess
nesneleri türetmek için bir konteyner uygulamak , bunun için sadece daha akıllı ve anlamsal bir yol ise?
Dizi haritası anlambilim, gördüğüm çoğu dilde ve uygulamada benzerdir. Giriş dizisi öğesine (yüksek düzeyde dil derleme / çalıştırma türü tercihini göz ardı ederek) dayalı olarak değiştirilmiş bir dizi döndürmek için tasarlanmıştır; bir döngü daha fazla mantık gerçekleştirmek içindir.
Nesneleri ID / PK'ye göre almak için, SQL kullanıp kullanmadığınıza bağlı olarak (önerilmiş görünüyor), bir dizi geçerli PK'ler aldığımdan emin olmak için bir filtre kullanırım, ardından virgülle patlatırım ve bir SQL IN()
cümlesine yerleştiririm. sonuç kümesini döndür. call->wait
Döngünün bir kısmını optimize ederek SQL aracılığıyla birkaç yerine tek bir çağrı yapar . En önemlisi benim kodum, herhangi bir dilden belli bir derecede yetkinliğe sahip birine iyi okunur ve değişkenlik problemleriyle karşılaşmayız.
<?php
$arr = [0,1,2,3,4];
$arr2 = array_map(function($value) { return is_int($value) ? $value*2 : $value; }, $arr);
var_dump($arr);
var_dump($arr2);
vs
<?php
$arr = [0,1,2,3,4];
foreach($arr as $i => $item) {
$arr[$i] = is_int($item) ? $item * 2 : $item;
}
var_dump($arr);
Eğer ne yaptığınızı biliyorsanız asla değişkenlik problemleri yaşamayacaksınız (üzerine yazmayı düşünüyorsanız $arr
her zaman $arr = array_map
açık ve net olabilirsiniz.