ニケッチャニッキ

はてなブログ・WordPressカスタマイズ・Androidプログラミング

WordPressプラグインなしでランダムに広告を表示するPart2

f:id:niketcha:20190707194938p:plain 以前こちらの記事で広告をランダム表示する方法を紹介しました。今回はこういう別の書き方もあるよ~という紹介です。

ランダム広告の実装方法

前回のソース

function return_random_ad(){
    $bnSrc[0]='';
    $bnSrc[1]='';
    $bnSrc[2]='';
    $n = mt_rand(0,count($bnSrc)-1);
    retuen $bnSrc[$n];
}

この方法のデメリット

配列の要素番号を欠番のないように指定する必要があるので、追加や削除がめんどくさい。

別バージョンの方法

function.php

function return_random_ad(){
    $bnSrc=array('広告コード'
                ,'広告コード'
                ,'広告コード');
    retuen $bnSrc;
}

広告を挿入する箇所に書くコード

<?php
    $bnSrc = return_random_ad();
    $rand_keys = array_rand($bnSrc, 2);
    echo $bnSrc[$rand_keys[0]];
    echo $bnSrc[$rand_keys[1]];
?>

この方法のメリット

広告の追加や削除が楽。

複数の広告を表示できる。

array_randとは?

配列からランダムに要素を複数選択し、要素番号を返してくれる関数です。

いくつ選ぶのかを第2引数で指定できます。

3つ選びたいときはarray_rand($bnSrc, 3);など。

返ってくるのは配列形式になった要素番号なので、今回の場合は$rand_keys[0]に1つ目の要素番号が、$rand_keys[1]に2つめの要素番号が入っています。

$bnSrc[$rand_keys[0]]は$bnSrcからランダムで2つ選ばれたうちの1つめ、$bnSrc[$rand_keys[1]]は2つめということになります。