Dizin anahtarlarının gibi değişkenler?

3 Cevap

Tamam öyle array $ nv olduğunu = array ();

$ Nv [$ kk] = $ değer;

And index key is $kk a variable. If you have $kk then you can access them as the variables $kk via the index key $kk?

Ama bu yaptıklarını eğer:

$nv[$kk][$jj] = $value;

I can now access the variables $kk and $jj both assigned to $value, even though they are index keys, sounds powerful and scary at the same time.

Soru # 1: Ben noob yaşıyorum ve bu yukarıdaki kodun doğru yorumlanması ise sadece merak ediyorum; ayrıca, bu yapının faydaları nelerdir?

Soru 2: Ben yanlışım varsa sürece, başka ne gibi görünüyor, bu yapısı ile yapmak, bu yüzden çok güçlü olabilir?

Görünüşe göre sadece tüm yapısını kopyalayarak "$ nv [$ kk] [$ jj] = $ değer;" Google anlamlı sonuçlar vermez ve php diziler en çok örnekleri gerçekten ayrıntılı olarak açıklamak görünmüyor içine.

  $nv = array();
  foreach($vars as $key => $value)
  {
    $kk = "#".strtoupper($key)."#";
    $ Nv [$ kk] = $ değer;
  }
  unset($vars);
  $tdata = strtr($nv,$tdata);
  return true;

Veya php.net den

A multi-dimensional array, okay, so the first index can be for row and the second for column in terms of accessing "a"?

$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

Sadece hayır çaylak için yanan lütfen, şimdiden teşekkür ederim, ben php kavramları benim anlayış için sağlam bir temel oluşturmak için çalışıyorum, biraz açıklığa kavuşturulması gerekir.

3 Cevap

Bu ifade $nv[$kk][$jj] boyutlu erişim. Php bu çalıştırmayı deneyin.

$k="k";
$j="j";
$a[$k][$j]=10;
print_r($a);
echo "\n";

Bu yazacaktır:

Array
(
    [k] => Array
        (
            [j] => 10
        )

)

Yani k ilk boyut ve j başka bir şeydir.

Sen print_r kullanabilir veya var_dump dizideki tüm elemanları yazdırmak için.

Umarım bu yardımcı olur.

Bir Fortran tipi matris olarak "çok-boyutlu bir dizi" Düşünme sizi yoldan götürecek!

$hash_of_hashes[$a][$b] = "bonjour";

Gerçekten için steno edilir: -

$tempar = array();
$tempar[$b] = "bonjour";
$hash_of_hashes[$a] = $tempar;

php kullanıma bağlı olarak bir dizi veya karma olabilir, tek bir "dizi" bir yapıya sahiptir. Diziler bir dizi girdisi geçerli herhangi bir php yapısı ölçekleyicili, başka bir dizi ya da bir sınıf olabilir tek boyutludur. Ve tek bir dizinin içindeki tüm bu karıştırabilirsiniz.

Peki yerine "çok boyutlu bir dizi" daha iyi "bir girişi olan bir karma başka karma şu" düşünüyorum

Ne bakıyorsun bir çok boyutlu Array.

Genellikle gruplar ve alt gruplar halinde veri düzenlemek için bu kullanmak istiyorum. Ben şahsen çok uzak gereksiz karmaşıklığı önlemek amacıyla birkaç düzeyleri daha gidiyor önlemek eğilimindedir.

Eğer dizi var_export ($ nv) var_export olsaydı size kodu çalıştırdığınızda dizinin yapısını görmek gerekir.

Bilginizi genişletmek için ben çok arrays herhangi bir karışıklık / yanlış önlemek için PHP Belgeler iyi bir göz alarak öneriyoruz.