0

私はこのスクリプトを持っています。これは完全にうまく機能します。でも、このままだと何百ものバリエーションが生まれてしまいます。

    <?php

$q1 = $_GET["q1"];
$q2 = $_GET["q2"];
$q3 = $_GET["q3"];
$q4 = $_GET["q4"];


if ( $q1 == "a" && $q2 == "a" && $q3 == "a" && $q4 == "a" ) {
    header("Location: http://www.mostly-a.co.uk");
    exit;    
}

if ( $q1 == "b" && $q2 == "b" && $q3 == "b" && $q4 == "b" ) {
    header("Location: http://www.mostly-b.co.uk");
    exit;    
}

?>

基本的に、どの回答が与えられたかに基づいて、5 つの可能な URL のうちの 1 つをエコーするスクリプトが必要です

たとえば、ユーザーが aaaa aaab aaba abaa baaa aaac aaca acaa caaa を選択すると、「url-mostly-a」がエコーされます。

などなど……

4

5 に答える 5

0

正しく理解していれば、最初に必要なことは、 array で最も一般的な値を見つけることです$_GET

そのためには、重複の数を取得する必要があります:

array_count_values($_GET);

次に、反復して最大値を見つけます。


編集:

次に、これを使用して、最大の値を持つキー「名前」を取得できる場合があります。

$arrayCnt = array_count_values($_GET);
$theKey = array_search(max($arrayCnt), $arrayCnt)
于 2013-04-30T15:45:40.150 に答える