function GetNumberOfTriangles($arr) {
$size = count($arr);
$count = 0;
for ($i = 0; $i < $size; $i++) {
for ($j = $i + 1; $j < $size; $j++) {
for ($k = $j + 1; $k < $size; $k++) {
// triangle = sum of two sides > value of the third side
if ($arr[$i] + $arr[$j] > $arr[$k] &&
$arr[$i] + $arr[$k] > $arr[$j] &&
$arr[$k] + $arr[$j] > $arr[$i]) {
echo $arr[$i] . " " . $arr[$j] . " " . $arr[$k] . "\n";
$count++;
}
}
}
}
return $count;
}
$arr = array(2, 3, 4, 5, 6, 7);
echo GetNumberOfTriangles($arr);
/*
run:
2 3 4
2 4 5
2 5 6
2 6 7
3 4 5
3 4 6
3 5 6
3 5 7
3 6 7
4 5 6
4 5 7
4 6 7
5 6 7
13
*/