Это разрешено в массиве - PullRequest
1 голос
/ 20 апреля 2011

Я пытаюсь получить список значений, разделенных запятой, как этот:

$products = array( array( Title => "rose", 
                      Price => 1.25,1.31,1.54,1.39
                      //comma separated list
                      Type => dropdown
                    ),
               array( Title => "daisy", 
                      Price => 0.75,
                      Type => text_field,
                    ),
               array( Title => "orchid", 
                      Price => 1.15,
                      Type => text_field
                    )
             );

Есть ли способ, которым я могу представить элементы, разделенные запятыми в массиве в php?.

Ответы [ 4 ]

3 голосов
/ 20 апреля 2011

Если у вас список в виде строки, разделенный запятыми, и вы хотите, чтобы он был представлен в виде массива, вы можете использовать explode

$myString = "1,2,3,4,5";
$myArray = explode(',',$myString);
3 голосов
/ 20 апреля 2011
$products = array( array( Title => "rose", 
                      Price => array(1.25,1.31,1.54,1.39)
                      //comma separated list
                      Type => dropdown
                    ),
               array( Title => "daisy", 
                      Price => 0.75,
                      Type => text_field,
                    ),
               array( Title => "orchid", 
                      Price => 1.15,
                      Type => text_field
                    )
             );
0 голосов
/ 20 апреля 2011

Вы не можете назначить массиву список через запятую, потому что указатель может указывать только на память, а не на структуру. Вы можете обойти это, используя другой массив или строку. Когда вы хотите использовать строку, вы хотите использовать функцию explode () для разделения строки.

0 голосов
/ 20 апреля 2011

Да, вам нужно присвоить "1.25,1.31,1.54,1.39" для ARRAY в виде строки (с помощью "")

Мне нравится -

$products = array( array( Title => "rose", 
                      Price => "1.25,1.31,1.54,1.39",
                      //comma separated list
                      Type => "dropdown"
                    ),
               array( Title => "daisy", 
                      Price => 0.75,
                      Type => text_field,
                    ),
               array( Title => "orchid", 
                      Price => 1.15,
                      Type => text_field
                    )
             );
...