電車遅延なうさんを見ていると分かることですが、TwitterAPIで拾ってきたつぶやきの間にGoogle Adsenseが入っています。目視で確認したら、19個目のつぶやきのあとに1つあります。
これをお手本として、自分は10個目と20個目のつぶやきの下に、バナーを2回出現させてみたいと思います。
ただし、Google Adsenseのバナー広告は1ページあたり3つまで。そのうち1つはヘッダー部に固定で表示するものとします。
コード
先に結論から書くと、コードはこんな感じです。本当は1行目の上にお約束ごとがあります。詳しくは前回の記事をご覧ください。
[php]
<?php if(isset($results) && empty($results->errors)){ ?>
<!– 時刻の区切り表示のための変数 –>
<?php $before = ""; ?>
<!– つぶやきの繰り返し表示 –>
<?php foreach($results as $key => $tweet){ ?>
<!– 時刻の区切り表示 –>
<?php $after = date(‘YmdH’, strtotime($tweet->created_at)); ?>
<?php if($before != $after) { ?>
<span style="background:green"><?php echo date(‘Y/m/d H時’, strtotime($tweet->created_at)) ; ?></span><br/><br/>
<?php } ?>
<?php echo date(‘Y-m-d H:i:s’, strtotime($tweet->created_at)) ; ?></br>
<?php echo $tweet->text; ?><br/><br/>
<?php $before = $after; ?>
<!– アドセンスの表示 –>
<?php if ($key == 9 || $key == 19){ ?>
<span style="background:red; color:white; margin:20%"><?php echo "アドセンスのバナー"; ?></span><br/><br/>
<?php } ?>
<?php } ?>
<?php }else{ ?>
<?php echo "関連したつぶやきがありません。"; ?>
<?php } ?>
[/php]
上の画像では10個目のつぶやきの下に、”アドセンスのバナー”という文字列が、赤色の背景とともに表示されています。
基本的には、前回の記事でユーザータイムラインで表示されるつぶやきを、1時間ごとに区切った表示とほとんど同じです。
今回のポイント
ただし前回と違うところが2点あります。
1.配列内でインデックス番号を指定
まず7行目のforeach文の$resultsという配列で、キー値としてインデックス番号を指定しています。
2.$keyを変数とする
インデックス番号を指定することで、$keyを変数としてforeach文の中で、繰り返しの回数を条件としたif文(19行目)がつくれることになります。
個人的な感想
個人的には、配列内のキー値というのは、連想配列ちっくな文字列による指定しか知りませんでした。
キー値を指定することで、foreach文の繰り返しの回数によって様々な条件が付けられると、いろいろと面白いことができそうです。
〔参考サイト〕