2

現在、キャンペーンのランディング ページを分割して、次のスクリプトに送信してテストしています。

$link[] = "http://www.website.com/lp1";
$link[] = "http://www.website.com/lp2";

$random_number = rand(0,count($link)-1);
$redirectlink = $link[$random_number];

header("Location: $redirectlink");

最初の LP を 75% の確率で表示したい場合、どうすればそれを実現できますか? 最初のリンクをあと 2 回複製するだけでうまくいきますか、それとももっと良い方法がありますか?

4

1 に答える 1

2

もっと良い方法があるかもしれませんが、これも機能しています

$link[0] = array('link' => 'http://example.com/1', 'percent' => 7);
$link[1] = array('link' => 'http://example.com/2', 'percent' => 20);
$link[2] = array('link' => 'http://example.com/3', 'percent' => 73);

$percent_arr = array();
foreach($link as $k => $_l) {
    $percent_arr = array_merge($percent_arr, array_fill(0, $_l['percent'], $k));
}

$random_key = $percent_arr[mt_rand(0,count($percent_arr)-1)];
$redirectlink = $link[$random_key]['link'];

header("Location: $redirectlink");
于 2012-03-29T22:04:57.280 に答える