2016-03-23 5 views
0

мне нужно будет выводить массив что-то вдоль линийPHP с одинаковыми идентификаторами

[ 
0 => ['text' => 'category'], 
1 => ['text' => category'] 
] 

Так Основном массив для каждой категории в моей базе данных. Мне нужно вывести их так, потому что они будут экспортированы на другой сайт. (Я не могу предусмотреть внутри экспорта)

Мой текущий код - это цикл foreach, который проходит через мои категории. Если я var_dump свою переменную поля внутри цикла foreach, я получаю результат, который я хочу, но, как уже упоминалось, мне нужно экспортировать все в формате, таком как выше, из цикла foreach.

Код:

foreach ($categories as $category) { 
      $fieldvalue = ['text' => $category->categoryname]; 

     } 

Что я пробовал:

  • Ввод массива в строку, чтобы взорвать вне петлям
  • Результат: Из-за «тот же идентификатор» вопрос я мог только экспортировать последний результат

Что мне нужно сделать:

Мой текущий код выводит массив в виде текстовой строки, поясню

$fieldvalue ? "['text' => '$category->categoryname']"; 

И мой вывод будет

array:4 [ 
    0 => "['text' => value1]" 
    1 => "['text' => value2]" 
    2 => "['text' => value3]" 
    3 => "['text' => value4]" 
] 

Мне просто нужно, чтобы получить строку, чтобы быть массивом.

ответ

0

Try:

foreach ($categories as $category) { 
    $fieldvalue[] = ['text' => $category->categoryname]; 
} 

Вы хотите, чтобы результат массив, который содержит множество массивов (многомерный массив). Использование $var[] = $something добавляет, что $something в качестве объекта массива.

+0

Ничего себе, я честно не знаю, почему я об этом не думал .. Спасибо! – Oliver

+0

Нет проблем, иначе вы переустанавливаете '$ fieldvalue' на каждой итерации. – Egg

Смежные вопросы