- array_push: documentation ( source)
- print_r: documentation ( source)
- min: documentation ( source)
- range: documentation ( source)
<?php
$array1 = range('A', 'I');
$array2 = array(0 => 'A', 1 => 'B', 7 => 'H', 8 => 'I');
$size1 = count($array1);
$size2 = count($array2);
$hit = 0;
$miss = -1;
$min_size = min($size1, $size2);
$array3 = array();
for($i = 0; $i < $min_size; $i++)
{
$flag = 0;
if(isset($array1[$i]) && isset($array2[$i]))
{
echo "set";
if($array1[$i] === $array2[$i])
{
$hit++;
$miss = -1;
}
else
$flag = 1;
}
else
{
$flag = 1;
}
if($flag == 1)
{
if($miss == -1)
{
if($hit > 0);
array_push($array3, $hit);
$miss = 0;
array_push($array3, 0);
}
$hit = 0;
}
}
if($hit > 0)
array_push($array3, $hit);
if($size1 != $size2)
{
if($miss == -1)
array_push($array3,0); //Suppose array sizes are not equal and last scanned element-pair is not matched. To avoid an additional 0
}
print_r($array3);