Вставьте массивы в элемент HTML

Я довольно новичок в PHP, но в конечном итоге я возился с массивами.

У меня есть эта структура, и многие из них:

  ["ugedage"]=>
array(5) {
[0]=>
string(13) "Mandag (14/8)"[1]=>
string(14) "Tirsdag (15/8)"[2]=>
string(13) "Onsdag (16/8)"[3]=>
string(14) "Torsdag (17/8)"[4]=>
string(13) "Fredag (18/8)"}

Код, инициирующий все это, выглядит так:

$skema['ugedage'] = array();

Я попробовал это на данный момент (это ничего не возвращает, но оставляет div пустым!):

<div class="test"><?php echo $skema['ugedage'][4]; ?></div>

Я включаю файл (lectio.php) в index.php следующим образом:

        <?php
include("lectio/lectio.php");
$lectio = new lectio();
$skemamag = $lectio->get_skema_til_elev(94, 16305782848);
var_dump($skemamag); ?>

$skemamag

Выводит все массивы для этих конкретных идентификаторов.

РЕДАКТИРОВАТЬ:
Вся публичная функция, она входит в студенческую платформу и ищет элементы в расписании студентов. Идея состоит в том, чтобы массивы отображались вокруг элемента, чтобы можно было стилизовать конкретный массив.

    public function get_skema($url_til_skema)
{
$lectio_html = $this->get_content($url_til_skema);
$skema = array(); //Definer skema variabel til return værdi!
$skema['titel'] = ''; //Definer struktur for titel
$skema['ugedage'] = array(); //Definer struktur for liste over ugedage
$skema['dagskema'] = array(); //Definer struktur for dagskemaet
$html = new simple_html_dom();
$html->load($lectio_html);
$skema['titel'] = $html->find('.s2weekHeader td', 0)->plaintext; //Hent overskriften uden html (uge og år)
$headers = $html->find('.s2dayHeader td'); //Søg efter listen over dage i det pågældende skema
for($i=1;$i<count($headers);$i++) //Bemærk vi starter i = 1 fordi vi springer den første over (altid tom)
{
$skema['ugedage'][] = $headers[$i]->plaintext; //Tilføj alle overskrifterne på ugedagene (uden html)
$skema['dagskema'][$headers[$i]->plaintext] = array(
'noter' => array(),
'fag' => array()
); //Tilføj en struktur til nøglen for hvert dagskema
}
$collection = $html->find('.s2skemabrikcontainer'); //Søg efter den ydre skema container for hver dag
/*
BEMÆRK!!!!
Den ydre skema container, der er langt flere end antal dage. Feks. kan en uge med 5 dage
have 11 ydre containere pga. 5 til moduler, 5 til "noter" i toppen, og én til sidebaren.
*/
$skemabrik = new simple_html_dom(); //Definer den her for genbrugens skyld da den kan tømmes efter hver iteration
for($i=0; $i<count($skema['ugedage']); $i++) //Iterer alle noterne i "toppen" af ugedagene
{
$skemabrik->load($collection[$i]->innertext);
$noter = $skemabrik->find('.s2skemabrikcontent');
foreach($noter as $note)
{
//Tilføj til liste over noter for dagen
$skema['dagskema'][$skema['ugedage'][$i]]['noter'][] = trim(html_entity_decode($note->plaintext));
}
}
//Iterer alle fagene/noterne i selve skemaet for hver dag
//Vi starter iteratoren i count($skema['ugedage']) + 1 fordi vi vil springe topnoter + et stil element i mellem over.
for($i=count($skema['ugedage'])+1; $i<(2*count($skema['ugedage'])+1); $i++)
{
$skemabrik->load($collection[$i]->innertext);
$noter = $skemabrik->find('.s2skemabrikcontent');
foreach($noter as $note)
{
//Tilføj til dagskemaet
$skema['dagskema'][$skema['ugedage'][$i-count($skema['ugedage'])-1]]['fag'][] = array(
'tekst' => trim(html_entity_decode($note->plaintext)),
'note' => ''
);
}
}
for($i=5; $i<count($skema['ugedage'])+6; $i++) //Gennemgå alle dagene
{
$skemabrik->load($collection[$i]->innertext); //Indlæs hver dag
$skemabrik_elementer = $skemabrik->find('.s2skemabrik'); //Søg efter alle skemabrikkerne på denne dag
for($y=0; $y<count($skemabrik_elementer); $y++) //Gennemgå alle noterne til hvert fag/note/whatever
{
//Tilføj noten til det korrekte fag
$skema['dagskema'][$skema['ugedage'][$i-6]]['fag'][$y]['note']=trim(html_entity_decode($skemabrik_elementer[$y]->title));
}
}
return $skema;
}

Что я здесь не так делаю?

заранее спасибо

0

Решение

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

<div class="test"><?php echo $skema['ugedage'][4]; ?></div>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector