2016-05-12 4 views
-1

Я набор массива, как это от выбора базы данных, где [0] в таблице ID, [1] является пункт, и [2] Тип:PHP: Изменение структуры массива

Array 
(
    [0] => LO001 
    [1] => Fork 
    [2] => A 
) 
Array 
(
    [0] => LO002 
    [1] => Spoon 
    [2] => B 
) 

Но я хочу, чтобы это было так:

Array 
(
    [0] => Array 
     (
      [0] => LO001 
      [1] => Fork 
      [2] => A 
     ) 
    [1] => Array 
     (
      [0] => LO002 
      [1] => Spoon 
      [2] => B 
     ) 
) 

* редактировать код для выбора данных из БД, $ выбран набор массив из форм флажок результата. :

$query = "SELECT ID, name, type FROM location WHERE loc_id = '$selected'"; 
    $sqlcb = mysql_query($query); 
    $ccb = array(); 
    while($ccb= mysql_fetch_array($sqlcb)) { 
     print_r($ccb); 
} 

$ выбрана структура массива пример (этот массив может быть изменен на основании пользовательского ввода от формы CheckBox

Array 
(
    [0] => LO001 
    [1] => LO002 
) 
+0

$ new_array = ""; foreach ($ your_array as $ ar) {$ new_array [] = $ ar;} print_r ($ new_array); – Poria

+0

Покажите нам код, получающий массив из базы данных. В противном случае вопрос неоднозначен. Есть миллионы способов построения такого массива. –

+0

Где код php? –

ответ

1

Использовать некоторые вещи, как:

while($ccb= mysql_fetch_array($sqlcb)) { 
    $finalArray[] = $ccb; 
} 
print_r($finalArray); 

Пожалуйста, обратите внимание, что mysql_* теперь устаревший PHP7 из-за вопросы безопасности. Предлагается перейти на mysqli_* или PDO.

+0

это работает, но появляется новая проблема, как это: 'Массив ( [0] => LO001 [1] => Вилка [2] => ) Массив ( [0] => Массив ( [0] => LO001 [1] => Вилка [2] => а ) [1] => Массив ( [0] => LO002 [1] => Ложка [2 ] => B ) ) ' – lacyeex

+0

Я не могу проверить ваш код, но вы можете попробовать удалить' $ finalArray = array(); ' –

+0

ОК. Спасибо, что ответили на мой вопрос :) – lacyeex

1

Вы можете создать новый массив, как:.

$arr1 = array('LO001','Fork','A'); 
$arr2 = array('LO002','Spoon','B'); 

$newArr = array(); 
$newArr[] = $arr1; 
$newArr[] = $arr2; 

Выход:

Array 
(
    [0] => Array 
     (
      [0] => LO001 
      [1] => Fork 
      [2] => A 
     ) 

    [1] => Array 
     (
      [0] => LO002 
      [1] => Spoon 
      [2] => B 
     ) 

) 
+1

вы получили тот же массив. Ничего не изменилось – RomanPerekhrest

+0

@RomanPrekhrest не с кодом выше. –

+0

У него возникает проблема с построением массива путем извлечения данных из базы данных. Я думаю, что он способен реплицировать вывод 'print_r'. –