2017-08-17 21 views
-2

私は巨大な配列を持っています。エコーしようとするとエラーが発生するアレイ

私はここで、それの一部を持っている:

["dagskema"]=> 
    array(5) { 
    ["Mandag (14/8)"]=> 
    array(2) { 
     ["noter"]=> 
     array(1) { 
     [0]=> 
     string(30) "16:10-17:35 KOR i AVLSGÃ…RDEN" 
     } 
     ["fag"]=> 
     array(8) { 
     [0]=> 
     array(2) { 
      ["tekst"]=> 
      string(17) "2d re ​JH ​04" 
      ["note"]=> 
      string(365) "14/8-2017 09:05 til 09:55 Hold: 2d re Lærer: Jens Christian von Holck (JH) Lokale: 04 Lektier: - Medbring en oplevelse fra sommerferien, hvor du på en eller anden måde har været i forbindelse/ vidne til/ tænkt over noget religiøst. Uddybning: Du skal kunne formidle din oplevelse via få stikord eller en enkelt kort sætning (skal kunne bruges anal [...]..." 
     } 
     [1]=> 
     array(2) { 
      ["tekst"]=> 
      string(26) "2d SP ​BL ​01 
    intro" 
      ["note"]=> 
      string(165) "intro 14/8-2017 10:05 til 10:55 Hold: 2d SP Lærer: Bjarke Ledskov (BL) Lokale: 01 Note: vi skal repetere materialet fra sidste år og snakke om hvad vi skal i år." 
     } 
     [2]=> 
     array(2) { 
      ["tekst"]=> 
      string(17) "2d SP ​BL ​01" 
      ["note"]=> 
      string(76) "14/8-2017 11:00 til 11:50 Hold: 2d SP Lærer: Bjarke Ledskov (BL) Lokale: 01" 
     } 
     [3]=> 
     array(2) { 
      ["tekst"]=> 
      string(17) "2d Sa ​FS ​03" 
      ["note"]=> 
      string(283) "14/8-2017 12:30 til 13:20 Hold: 2d Sa Lærer: Freja Schloss (FS) Lokale: 03 Lektier: - Terrorisme på tværs (Hansen & Jensen, side 26-32).pdf [...] Øvrigt indhold: - Rasmus Pöckel oprørsmodellen.docx [...] Note: Hvad er terrorisme? Hvordan kan vi præcist definere terrorisme?" 
     } 
     [4]=> 
     array(2) { 
      ["tekst"]=> 
      string(17) "2d Sa ​FS ​03" 
      ["note"]=> 
      string(359) "14/8-2017 13:25 til 14:15 Hold: 2d Sa Lærer: Freja Schloss (FS) Lokale: 03 Øvrigt indhold: - Why Russia’s reaction to the St. Petersburg bombing is all about strengthening Putin's power [...]  (Eksempel på misbrug af ordet "terrorisme". Artikel fra Newsweek, 10. april 2017.) Note: Hvordan kan begreberne terror/terrorisme/terrorister misbruges?" 
     } 
     [5]=> 
     array(2) { 
      ["tekst"]=> 
      string(17) "2d Ma ​Ma ​23" 
      ["note"]=> 
      string(108) "Aflyst! 14/8-2017 14:20 til 15:10 Hold: 2d Ma Lærer: Malik Lindholdt (Ma) Lokale: 23 Note: Omsorgsdag (Ma)" 
     } 
     [6]=> 
     array(2) { 
      ["tekst"]=> 
      string(17) "2d Ma ​Ma ​23" 
      ["note"]=> 
      string(108) "Aflyst! 14/8-2017 15:15 til 16:05 Hold: 2d Ma Lærer: Malik Lindholdt (Ma) Lokale: 23 Note: Omsorgsdag (Ma)" 
     } 
     [7]=> 
     array(2) { 
      ["tekst"]=> 
      string(108) "KOR i AVLSGÃ…RDEN 
    Alle 1. G. elever Alle 2. G. elever Alle 3. G. elever KOR 2017-18 ​LL ​AG1 (mu)" 
      ["note"]=> 
      string(187) "Ændret! KOR i AVLSGÅRDEN 14/8-2017 16:10 til 17:35 Hold: Alle 1. G. elever, Alle 2. G. elever, Alle 3. G. elever, KOR 2017-18 Lærer: Svend Jørgen Lyngberg-Larsen (LL) Lokale: AG1 (mu)" 
     } 
     } 
    } 

私は特に「たばこ」の配列をターゲットにするのが欲しいです。

私は次のことを試してみましたが、それはエラーを返します。特に

Warning: Invalid argument supplied for foreach() in /var/www/square-brain.com/itk/index.php on line 62 

私はgithubの上のAPI LectioAPIを使用し、リンクhere

私は:

 <?php 
    include("lectio/lectio.php"); 
     $lectio = new lectio(); 
     $skemamag = $lectio->get_skema_til_elev(94, 16305782848); 
var_dump($skemamag); 
?>   
<div class="skema-lektioner-wrapper"> 
    <?php foreach ($skemamag['dagskema']['Mandag (14/8)']['fag'][8] as $key => $val) { 
     echo '<p class="lektioner lektioner-'.$val.'">'; 
     echo $val; 
     echo '</p>'; 
    }?> 
    </div> 

エラーは次のようになりますthisファイル

私は何をしていますか? g間違っている?

+2

Remove'を行うことができ、アレイ上の大きさです8] 'foreachループから' $ skemamag ['dagskema'] ['Mandag(14/8)'] ['fag'] ' –

+0

' $ skemamag ['dagskema'] ['Mandag(14/8] '] [' fag '] [8] '....これは存在しない...' $ skemamag [' dagskema '] [' Mandag(14/8) '] [' fag '] 'は8要素[0-7] –

答えて

1

あなたは配列の構造をもっと見る必要があります。 PHPは、[あなたはそれはおそらく時間の経過とともに変化するように、名前で'Mandag (14/8)'配列を使用しないようにするに

<?php 
foreach ($skemamag['dagskema']['Mandag (14/8)']['fag'] as $fag) { 
    // $fag is also an array, not sure if you want both of its members 
    // or just one 
    echo '<p>' 
    echo $fag['tekst']; 
    echo ' '; 
    echo $fag['note']; 
    echo '</p>'; 
} 
?> 

それらに精通する必要があるので、あなたは

<?php 
foreach ($skemamag['dagskema'] as $d => $dag) { 
    echo echo "<p>$d</p>"; // echo that dag 

    foreach ($dag['fag'] as $fag) { 

    echo '<p>' 
     echo $fag['tekst']; 
     echo ' '; 
     echo $fag['note']; 
     echo '</p>'; 
    } 
} 
?> 
+0

配列文字列の一部を取り出して表示することはできますか?文字列(365)のように、私はある場所を別の場所に、もう1つを別の場所に表示したい。 –

+0

はい、できます。しかし、あなたが何をしたいのか分からないので、新しい質問がその質問をする最良の方法でしょう – RiggsFolly

関連する問題