2016-03-30 21 views

cevap

1

Üst diziye Nesne olarak erişmeniz gerekir, ancak çocuğun normal dizisi vardır.

Bunu deneyin.

$array->string[0]; //get the EXL 

Örnek:

$array = array(
    "string" => array("EXL", "TEMPS"), 
    "string2" => array("EXL 2", "TEMPS 2"), 
); 

$obj_arr = (Object) $array; 
echo "<pre>"; 
print_r($obj_arr); 
echo "</pre>"; 

echo $obj_arr->string[0]."<br/>".$obj_arr->string[1]; 

Çıkış:

EXL
İU

+0

' alır 'anlamına gelir ?? –

0

Sizin durumunuzda, bu size bir Nesne veren bir Sınıf örneğidir.

bir nesne içinde bir Array hedeflemek için iki yaygın olarak kullanılan yöntem vardır: PHP'de

echo $Object->string[0]; 

->: doğrudan Array erişebilir

// Loop through each stored data 
foreach($Object->string as $_string) 
{ 
    echo $_string; 
} 

Ya Nesneleri (harita) nasıl kullanıyoruz.

Her ikisi de iyi çalışıyor.

DÜZENLEME: Okuma comments

bir for döngü içinde Nesne düzenlenen Diziyi erişmek için:

// $i starts at 0 since array index's start at 0 
for($i = 0; $i < count($Obj->string); $i++) 
{ 
    echo $Obj->string[$i]; 
    // TODO: Add your code... 
} 
+0

'echo $ Nesne-> dize -> {0}; // Sadece temiz görünüyor (IMO) 'Yanlış 0, bir özellik değil bir dizi indeksidir. echo $ Obj-> string -> {$ i}; 'bir dizi dizini öncesinde olduğu gibi. – Rizier123

+0

Yukarıda söylediklerini hiçbirini açıklamadı, eğer sana zarar verirse, düzenlerse. – KDOT

+0

OP, çıkışta her şey varsa bunu belirtmez. * Eğer bana zarar verirse *, burada bir cevap yazdınız ve cevabınızda teknik olarak neyin yanlış olduğunu belirledim. – Rizier123