function PrintCommonElementsInThreeArrays($arr1, $arr2, $arr3) {
$size1 = count($arr1);
$size2 = count($arr2);
$size3 = count($arr3);
$i = 0;
$j = 0;
$k = 0;
while ($i < $size1 && $j < $size2 && $k < $size3) {
if ($arr1[$i] == $arr2[$j] && $arr3[$k] == $arr1[$i]) {
echo $arr1[$i] . " ";
$i++;
$j++;
$k++;
}
else if ($arr1[$i] < $arr2[$j]) {
$i++;
}
else if ($arr2[$j] < $arr3[$k]) {
$j++;
}
else {
$k++;
}
}
}
$arr1 = array(2, 5, 6, 7, 9, 12, 20, 25, 30, 31);
$arr2 = array(4, 7, 10, 11, 20, 21, 30, 31, 37);
$arr3 = array(1, 2, 5, 7, 9, 18, 19, 20, 31, 32, 38, 39, 40, 50);
PrintCommonElementsInThreeArrays($arr1, $arr2, $arr3);
/*
run:
7 20 31
*/