Как создать список списков в PHP? - PullRequest
1 голос
/ 29 августа 2009

Это может быть основной вопрос, но как мне создать список списков в PHP. Я хотел бы выполнить следующие операции:

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))

Ответы [ 3 ]

4 голосов
/ 29 августа 2009

Списки называются «массивами» в PHP, и с ними довольно легко работать:

Вы можете создать его, указав его членов:

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

Чтобы добавить массив, используйте пустые квадратные скобки:

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

Чтобы получить доступ к конкретному члену, введите его ключ в квадратных скобках:

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

Это работает и для многомерных массивов:

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

Чтобы распечатать массив и увидеть его содержимое, используйте print_r или var_dump .. хотя print_r лучше для массивов.

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

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

Массивы также могут использовать строки в качестве ключа:

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

Они называются "ассоциативными массивами".

4 голосов
/ 29 августа 2009

Вы можете составить список списков, используя массивы.

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

Или как-то так:

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

Вы можете получить доступ к этим спискам следующим образом:

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
0 голосов
/ 29 августа 2009
$ar=array(array("A","A1"),array("B","B1"))
$ar[]=array("C","C1"); // Append an item

print_r($ar[0]);  // debug purpose

$ar[]=$ar;

print_r($ar);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...