PHP: Yüksek derinlik dizi, ne kadar güncel anahtar adını dönmek?

3 Cevap php

Ben bir json_decode sonucu (assoc ayarlanır true) çok büyük bir dizi var ve (rastgele bir seri, içindeki dizilerin biridir) anahtar 'set_true' varsa aşağıdaki kod kontrol etmelisiniz

$out = "";
foreach ($array as $sub) {
  //$out[] = $sub['set_true'];
  if (in_array($sub['set_true'], $sub) && $sub['set_true'] == '1' ) {
     $out[] = 'User: ' . $sub . ' has set_true = 1';
  }
}

Bu kod 1'e set o dizi anahtarı ile bütün kullanıcıları listeler, ama $ alt döndürüyor 'dizi' ve geçerli anahtar ben değilim! (Rastgele seri)

Bunu nasıl iade edebilirim?

3 Cevap

Ne in_array'in çağrısı var? Ben bunun doğru olduğunu sanmıyorum. Neden $sub arýyorsunuz $sub?

Demek istedin galiba:

$out = "";
foreach ($array as $key => $sub) {
  if (array_key_exists('set_true', $sub) && $sub['set_true'] == '1' ) {
     $out[] = 'User: ' . $key . ' has set_true = 1';
  }
}