2012-06-27 7 views
6

Ben var gibi görünür terk ilişkilendirilebilir bir dizi var:PHP: Bir ilişkilendirici dizi ise dizinin değeri sayısal ofseti ile nasıl alınır?

Array 
(
    [tumblr] => Array 
     (
      [type] => tumblr 
      [url] => http://tumblr.com/ 
     ) 

    [twitter] => Array 
     (
      [type] => twitter 
      [url] => https://twitter.com/ 
     ) 

) 

anahtar en özel "Tumblr" ve "twitter" ve sayısal olmayan 0 ve 1

Bazı zamanlar görebileceğiniz gibi Değerleri özel anahtarlarla almam gerekiyor ve bazen sayısal tuşlara göre değerler almam gerekiyor. Sen array_values() aracılığıyla dizi çalıştırabilirsiniz

(
    [type] => tumblr 
    [url] => http://tumblr.com/ 
) 
+0

Sayısal ve dize anahtarları PHP'de değiştirilemez. İhtiyacın olanı daha fazla tarif edebilir misin? –

+0

PHP'deki tüm diziler, sayısal olarak indekslenenler bile ilişkilendirilebilirdir. Bu, bir dizeyi indeks olarak atadığınızda, ilişkili bir sayısal değerin olmadığı anlamına gelir. @nickb'in bununla başa çıkmak için iyi bir yolu var. –

+0

@Michael, başka birinin koduyla çalışmayı bile istemiyor ve her şeyi yeniden yazmaktan hoşlanmıyor. – TK123

cevap

9

:

array(2) { 
    [0]=> 
    array(2) { 
    ["type"]=> 
    string(6) "tumblr" 
    ["url"]=> 
    string(18) "http://tumblr.com/" 
    } ... 

:

$myarray = array_values($myarray); 

Şimdi dizi benziyor

Ben çıkışa $myarray[0] alabilirsiniz anyy yolu var mı Bunun nedeni, array_values()'un yalnızca f değerlerini alacağıdır. diziyi düzenleyin ve diziyi sayısal bir dizi olarak sıfırlayın/yeniden sıralayın/yeniden düzenleyin.

+1

'$ myarray + = dizi_değerleri ($ myarray);' isimsiz ve sayısal indeksleri kullanabilecek bir dizi yaratacaktır, mysql_fetch_array ile aynı şekilde çalışır :) –

+1

+1 detaylar eklemek için –

İlgili konular