PHP listelerinin bir listesini oluşturmak için nasıl?

2 Cevap

Bu temel bir soru olabilir ama nasıl PHP listelerinin bir listesini oluşturmak yok. Ben aşağıdaki işlemleri gerçekleştirmek istiyorum:

var x = List(List(1,1,1),List(2,2,2), List(3,3))
echo x[0]   //prints List(1,1,1)
echo x[1]   //prints List(2,2,2)
x  = x.List(4,4,4)
echo x      //prints List(List(1,1,1),List(2,2,2), List(3,3),List(4,4,4))

2 Cevap

Sen dizileri kullanarak listelerinin bir listesini yapabilirsiniz.

$list1 = array(array('some stuff','more stuff'),array('more stuff2','some more'));

Ya da şöyle bir şey:

$sub_list1=array('some stuff','more stuff');
$sub_list2=array('more stuff2','some more');
$list1 = array($sub_list1,$sub_list2);

Öyle gibi bu listeleri erişebilir:

echo $list1[0][1]; // Outputs "more stuff"
echo $list1[1][0]; // Outputs "more stuff2"
               ^ Select the element in that sub list
            ^ Select the sub list

Listeler PHP "diziler" denilen ve onlar ile çalışmak oldukça kolay konum vardır:

Sen sadece kendi üyelerini belirterek birini başlatabilirsiniz:

$x = array(
    array(1, 1, 1),
    array(2, 2, 2),
    array(3, 3)
);

Bir diziye eklemek için, boş köşeli parantez kullanın:

$x[] = array(4, 4, 4);

Belirli bir üyesine erişmek için, köşeli parantez içindeki anahtarını verin:

$x[0];  // array(1, 1, 1)

Bu çok boyutlu diziler için çalışıyor:

$x[0][2];  // 1

print_r diziler için kıvrımlara olsa sen .., içeriğini görmek print_r veya var_dump kullanabilirsiniz böylece bir dizi yazdırmak.

echo $x;  // "Array" .. not great

print_r($x);
/* something like this:
array(
    0 => array (
        0 => 1
        1 => 1
        2 => 1
    )
    1 => array (
.. etc
*/

Diziler de anahtar olarak dizeleri kullanabilirsiniz:

$x['foo'] = 'bar';

Bu "çağrışımlı diziler" denir.