Bu php bir ilişkisel dizideki öğeleri başlatmak için iyi bir uygulama mı?

1 Cevap php

Ben PHP ilişkilendirilebilir dizilerle bir çok şey yapıyorum kendimi buluyorum.

Ben bu yapıyordu:

 foreach ($item as $key=>$value)
 {
   if ($arr[$key] == null)
   {
     $arr[$key] = 0; 
   }
   $arr[$key] += $other_arr[$value];
 }

Ama sonra ben 0 olarak aynı olarak kabul edildiği boş bulunuyor muhtemelen beri, [$ tuşu] $ dizi başlatır çizgi hariç eğer iyi çalıştığını fark etti.

Php güvenli varsayım bu tür yapıyor? Ve güvenli olup olmadığını, iyi bir fikir mi?

1 Cevap

It is safe but I'd recommend against it. If you put your error reporting up to E_NOTICES you'll see your code producing a lot of them, masking any real errors (such as a mistyped variable name).

Gerçekten ne yapıyor olması gerektiğidir:

if (!isset($arr[$key]))
    $arr[$key] = 0;

Bu bir uyarı yükseltmek (ama isset içeride mis-tipi $ arr () çok dikkatli olmak) olmayacaktır.