Прежде всего, поскольку вы работаете с индексом, выполняете цикл заданное количество времени, цикл for здесь более пригоден, он управляет областью видимости переменной индекса $i
и обеспечивает более читаемый код.
for($i=1;$i<=strlen($str);$i++){
$comb[$i]=$i;
}
теперь, чтобы умножить каждое из них:
$product = 1;
foreach($com as $key => $value){
$product*=$value;
}
Если вы пытаетесь просто вычислить факториал, вам даже не нужно делатьмассив:
function factorial($num){
$fac = 1;
for($i=2;$i<=$num){
$fac*=$i;
}
}