Массив строк в массив массивов - PullRequest
0 голосов
/ 18 марта 2012

У меня есть массив строк в PHP, как это:

people = array("John","Kim");

Я хочу преобразовать каждую из этих строк в сами массивы. По сути, теперь я хочу двумерный массив типа

people(John[],Kim[]);

Я боролся с реализацией и не уверен, как это сделать.

Ответы [ 2 ]

1 голос
/ 18 марта 2012
$people = array_fill_keys(array("John","Kim"), array());
0 голосов
/ 18 марта 2012

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

$people = array(
   "john" => array()
   );

Тогда, когда вы хотите добавить продукты, просто введите:

$people["john"]["couch"] = 3; // bought 3 times.
$people["john"][$item] = 0; // if you don't know the count yet for whatever reason.  You can always chagne it later the same way.

Сейчас:

 foreach( $people as $person => $purchases ){
    echo UCFirst( $person );
    if( ! empty( $purchases ) ){
       echo ' has bought:<br />';
       foreach( $purchases as $item => $qty ){
          echo $item.' ('.$qty.')<br />';
       }
    }
 }

Я бы рекомендовал всегда делать ваши ключи прописными или строчными, если вы собираетесь использовать named. Ваш звонок хотя.

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

...