Помогите создать многомерный массив

[Удален]
553

Ребята, помогите создать для начала двумерный массив, уже всё перепробовал и так ничего не вышло. Работаю сейчас на Денвере.

Суть вопроса: надо создать двумерный массив, который будет представлять некую таблицу из БД.

Вот как я уже провобал:

$rowenta=array();

while ( $row = $db->get_row() ) {
$rowenta[]=$row;
}

Массив $row рабочий, если выводить конкретное поле, то всё получается.

Потом я решил попробовать методом перебора каждого поля:

$i=0;////$i - номер дня (строчки)

$rowenta=array();
while ( $row = $db->get_row() ) {
$z=0;
while ($z<=$k) {
$zet=$arra_of_data[$z]; ////$arra_of_data - массив с названиями полей
$rowenta[$i][$zet]=$row[$zet];
echo "$rowenta[$i][$zet]";
$z++;
}
$i++;
}

Даже здесь оно не выводит нормально переменную $rowenta[$i][$zet]. Выводит только много раз "Array[название поля]".

Подскажите мне, полному нубу в PHP, что я не так делаю. Буду очень благодарен за помощь.

KV
На сайте с 22.12.2011
Offline
88
#1

$k не определена, бесконечный цикл, вывод элемента массива в ""

$i=0;////$i - номер дня (строчки)

$rowenta=array();
$row = array('field1' => 'value1', 'field2' => 'value2', 'field3' => 'value3' );
foreach ( $row as $fieldName => $fieldValue ) {
$rowenta[$i][$fieldName]=$fieldValue;
echo $rowenta[$i][$fieldName].'<br>'; // or echo "{$rowenta[$i][$fieldName]}<br>";
$i++;
}
Как бы на тебя ни давили, никогда не соглашайся на роль, что тебе не нравится *** http://handmade.tigress.com.ua
KS
На сайте с 11.06.2012
Offline
17
#2

В первом, более простом варианте, тоже всё должно работать. Там тоже двумерный массив. Просто с синтаксисом вывода проблемка, как уже K_V_S указал.

FileSafe (http://filesafe.anek.ws/) - мониторинг неизменности файлов сайта для защиты от взлома. Для форумчан - первый год бесплатно.
G
На сайте с 16.07.2012
Offline
2
#3

а не проще просто выгрузить таблицу из БД и с ней сразу работать. а то я не сильно понял зачем сразу создавать массив а потом туда что то засовывать


// обрабатываем массив
$select = @mysql_query ($sql);
// каждый найденный элемент в бд возвращает значения с именами столбцов в БД
while ($row = @mysql_fetch_assoc($select)) {$result[] = $row;}
echo '<pre>';
print_r($result);
echo '</pre>';

то есть что бы теперь обратиться к какому либо элементу в матрице вводим

$result[номер][имя столбца]

если нужно знать имена столбцов то


foreach ($result[0] as $name => $value )
{echo $name,'<br>';}

если нужно вывести таблицу то


echo '<table>';
echo '<tr>';
foreach ($result[0] as $key => $value ) {echo '<td>',$key,'</td>';}
echo '</tr>';
for ($i=0;$i<count($result);$i++)
{
echo '<tr>';
foreach ($result[$i] as $key => $value ) {echo '<td>',$value,'</td>';}
echo '</tr>';
}
echo '</table>';

если нужно что то конкретнее, то обрисуй задачу полностью)

---------- Добавлено 17.07.2012 в 02:25 ----------

и объявлять

$rowenta=array();

не надо), это же php)) он сам типы сделает)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий