2016-03-29 17 views
-4

bir 2 boyutlu bir dizi içine itmek:ben böyle 2 dinamik değerlerle bir dizi varsa php

$people = array(
    "george" => "smith" 
); 

Nasıl php o içine iter misin? Orada olması gerekirken sadece 1 değer

ne yorumladı ama yeni bir anahtar doesnt dizide yeni bir giriş oluşturmak ekleyerek olmuştur denedim vardır:

Ben

DÜZENLEME
array_push($people, "john" => "smith"); 

denedi 3 ..

$people = array(); 

foreach ($items as $item){ 

    $name = $item->getElementsByTagName('name')->item(0); 
    $num = $item->getElementsByTagName('number')->item(0); 
    $mess = $item->getElementsByTagName('message')->item(0); 

    if($name != NULL && $num != NULL && $mess != NULL){ 
     $people[$num->textContent] = $name->textContent; 

    } 

} 
var_dump($people); 
+1

kullanarak bu Fixed ... Ne? "Buna itmek" ile ne demek istiyorsun? Başka bir değer mi eklemek istiyorsun? – Epodax

+0

hangi diziyi zorlamak istersiniz? Bize denediğiniz bir kodu verin. –

+0

http://stackoverflow.com/a/676703/3933332 – Rizier123

cevap

1

ise yeni elemanı tanımlı bir anahtar vardır:

$people['newkey'] = 'newvalue'; 
0 herhangi bir tanımlanmış Anahtar olmadan

: Bir sonraki dizin olmadığından

$people[] = 'newvalue'; 
0

Dizi itme ancak bu durumda anahtar

$people['keytest'] = test; 
0

ile anahtar

array_push($people,'mark'); 

olmadan array_push çalışmaz .

$people['new_key'] = 'new_value'; 

Ama varsa aynı anahtarla eski değerini değiştirecektir: Ne yapabilirsiniz olduğunu. Böylece isset işleviyle başa çıkabilirsin.

if(isset($people['new_key'])){ 
    // do some stuff here! 
} 
else{ 
    $people['new_key'] = 'new_value'; 
} 
+0

Lütfen bkz. Düzenle –

0

$people[] = array($num->textContent => $name->textContent); 
+0

Yukarıdaki kodu yazarak, sadece $ people' dizisinin yapısını değiştirdiniz. Şimdi şöyle görünecektir: dizisi (dizi ("key1" => "value1"), dizi ("key2", "value2")); sadece 'var_dump ($ people)' OR 'print_r ($ people)' – Ali

İlgili konular