0

必要なことを行う簡単な方法が必要ですが、それがわかりません。

「接続」してテーブル内の位置を知る必要がある、ランダムに生成された 4 つの異なる変数があります。この画像はそれをよりよく説明しています。

テーブル画像

各変数に 1 または 2 を割り当て、それらを配列 ( $var_array) に追加したので、どちらが一致するかがわかります。たとえば、上の表では、8n ( var_array[0]) に値 1 を割り当てることができます。次に、11x、-15x、および 10x ( var_array[1]var_array[2]var_array[3]それぞれ) に値 2 を割り当てますprint_r($var_array);

Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 2 )

次に、一致する要素の「セル番号」を特定する必要があります。したがって、この場合、セル 3、5、および 7 を一致するものとして何らかの方法で識別する必要があります。これは、後でコードで使用するためです。また、このスクリプトを拡張して、一致する要素の 2 つの異なるセットを処理する必要があります。

これどうやってするの?ありがとうございました。

編集:コードのより大きなコンテキストは次のとおりです....

    $variable_array = array('x', 'n', 'y', 'g');
    $var_array = array();       
    do {
        $num_a = mt_rand(-20, 20);
        $num_b = mt_rand(-20, 20);
        $num_c = mt_rand(-20, 20);
        $num_d = mt_rand(-20, 20);

        $var_a = mt_rand(1, 2);
        $var_b = mt_rand(1, 2);
        $var_c = mt_rand(1, 2);
        $var_d = mt_rand(1, 2);

    } while ($num_a == 0 || $num_b == 0 || $num_c == 0 || $num_d == 0 || (($var_a == $var_b) && ($var_a == $var_c) && ($var_a == $var_d) && ($var_b == $var_c) && ($var_c == $var_d) && ($var_b == $var_d)));

    do {        
        $variable_1 = $variable_array[array_rand($variable_array)];
        $variable_2 = $variable_array[array_rand($variable_array)];
    } while ($variable_1 == $variable_2);   

    $var_array[] = $var_a;
    $var_array[] = $var_b;
    $var_array[] = $var_c;
    $var_array[] = $var_d;
4

1 に答える 1