2017-02-22 9 views
0

2つの配列array1とarray2をどのように交差させるか。異なるキーで交差する配列

$ array1にはデータベーステーブルのデータが含まれています.Array1の値のキーは4から始まり、2ずつ増加する必要があります。テーブルの構造は(id、name、目的、t1、p1、t2、p2、t3、 $配列1

$array1 = array(
    [0] => 1, [1] => English, [2] => comm, [3] => Que1, [4] => A, [5] => Que2 
) 

$ array2のための...)

キーと値が送信されたフォームから受け取った値が含まれています。配列2値のキーは、$ array2の

$array2 = array(
    [1] => A, [2] => C, [3] => B, [4] => E, [5] => C 
) 

私はキー4($から$配列1スタートを作るにはどうすればよいコード

//values from submitted form 
foreach($_POST as $answer) { 
    $array2 = $_POST['question']; 
    $qcount = sizeof($array2); 
} 
$j = 4; 
$tCorr = 0; 
for ($i = 1; $i < $qcount + 1; $i++) { 
    $correct_array = array_intersect_assoc($array1[$j], $array2[$i]); 
    $tCorr = sizeof($correct_array); 
    $tCorr++; 
    $j = $j + 2; 
} 

1.

キーと値で1と刻みから始まりますj)、配列2はキー1($ i)から始まります。 あなたの助けがuはあなたがそれらをしたくない場合は、$array1のオフ最初の3つの要素をスライスできようですが、私には見えます

for($i=1; $i<$qcount+1; $i++) 
{     
    $array1[$i]; 
    $array2[$i+3] ; 
} 
+0

配列を追加し、それらが交差する方法を提示してください。 – Sarcoma

+0

こんにちは肉腫、私はちょうど配列を追加 – user2341596

+0

おかげで、あなたの 'foreach'ループでは' $ answer'を使用していません。 – Sarcoma

答えて

0

こんにちはを理解されるであろう。通常どおり

$arraySliced = array_slice($array1, 3); 

それからちょうどこれを確認してください。

$correct_array = array_intersect_assoc($arraySliced, $array2); 
+0

応答Troidaに感謝しますが、正確に何を実装したいのですか – user2341596

0

のようなものを意味しています