php ilişkisel dizi yapı

7 Cevap

Bu benim wannabe birleşmeli dizinin uygun bir yapıdır yoksa bu daha iyi bir yöntem var mıdır?

Her bir anahtar numarası, bu durumda ID değişken $ money1 atanan "5" arasında bir değere sahip Nickels (indeks anahtarı) olan, bir değeri ile ilişkilidir.

$money1['Nickels'] = "5";
$money2['Dimes'] = "10";
$money3['Quarters'] = "25";

7 Cevap

Evet. Bu doğru. Varsayarsak, sonunda 3 diziler var istiyorum (money1, money2, money3).

Eğer one dizisi istiyorsanız, bu kompakt gösterimde kullanabilirsiniz:

$money = array("Nickels" => "5", "Dimes" => "10", "Quarters" => "25");

.. Olan daha kısa bir şeklidir:

$money["Nickels"] = "5";
$money["Dimes"] = "10";
$money["Quarters"] = "25"

Dizi erişimi:

echo $money["Dimes"]; // prints 10

Peki bu tek bir ilişkisel dizi istiyorsanız o zaman bu yapmanız gereken, üç birleşmeli diziler var:

$money['Nickels'] = "5";
$money['Dimes'] = "10";
$money['Quarters'] = "25"

Ya da daha kısa bir versiyonu:

$money=array('Nickels'=>'5','Dimes'=>'10','Quarters'=>'25');

Senin üç farklı diziler arıyorsanız, bu yapmaktan daha iyidir:

$Nickels = "5";
$Dimes = "10";
$Quarters = "25";

Ne var kullanımı olabilir, ama herhangi bir kod görünmüyveya, çünkü o sizin için kullanım olup olmayacağını söylemek zveya olacaktır.

Burada kullanım olabilir verileri içeren diğer bazı yöntemler bulunmaktadır.

$money = array ('Nickels' => '5', 'Dimes' => '10', 'Quarters' => '25');

veya

$money = array (5 => 'Nickels' , 10 => 'Dimes', 25 => 'Quarters');

Evet bu iyi.

Alıntı, ancak işe yarayacaktır ile biraz tutarsız.

Eh, bu işe olur. Bu 'doğru' ya da en iyi uygulama çözmeye çalıştığınız sorun bağlıdır olsun ...

Bu bir dizi değil, ama 3. Eğer 3 dizilerin her birine bir değer atamak istediğinizden emin misiniz? Eğer sadece bir dizi için bu değerleri atamak isteyebilirsiniz gibi görünüyor:

$money['Nickels'] = "5";
$money['Dimes'] = "10";
$money['Quarters'] = "25";

Bir sayı ile bir değişken bir kusur gibi görünüyor. Tamsayılar istiyorsanız Ve sayısal değerler etrafında tırnak kaldırabilirsiniz. Ama zor ayrıntılar olmadan daha söylemek.