jsonデータを取得しforeach文で指定回数だけループさせる

jsonデータを取得しforeach文で指定回数だけループさせる

jsonデータを取得し、foreach文で例えば取得した情報の3件のみ表示したい場合。

<ul>
<?php
  // jsonが記載されているURLを指定
  $url = "https://○○○○○○";
  // ファイルのコンテンツを取得
  $json = file_get_contents($url);
  // 文字化け対策
  $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
  // デコード
  $arr = json_decode($json,true);
  //0からスタート
  $i = 0;
  function h($s) {
    return htmlspecialchars($s, ENT_QUOTES, "UTF-8");
  }
?>
<?php foreach ($arr['item'] as $list): ?>
<?php if($i >= 3){ break; } ?>
<li>
  <a href="<?php echo htmlspecialchars($list['link']); ?>" class="link">
      <img src="<?php echo h($list['image']); ?>" alt="<?php echo h($list['title']); ?>">
      <div class="date"><?php echo htmlspecialchars($list['date']); ?></div>
      <div class="title"><?php echo htmlspecialchars($list['title']); ?></div>
      <div class="description"><?php echo htmlspecialchars($list['description']); ?></div>
    </div>
  </a>
</li>
<?php $i++; ?>
<?php endforeach; ?>
</ul>

何かの機会にまた使うかもと思ったのでメモ。

SPONSORED LINK

CONTACT

ご意見やご感想、お仕事のご依頼など
お気軽にご連絡ください。

CONTACT FORM