我正在尝试将此 Javascript 代码翻译成 PHP,但是当我这样做时,它会给我一条非数字值的消息。
每次我 var dump 时count($fin),它都会给我一个与console.logJavaScript 中不同的索引。
JavaScript 中的代码:
var countAndSay = function(n) {
var str = '1';
for (var i=1; i < n; i++) {
var strArray = str.split('');
str ='';
var count = 1;
// Loop through current nth level line
for (var j=0; j < strArray.length; j++) {
// Next digit is different
if (strArray[j] !== strArray[j+1]) {
// Go to next non-matching digit
str += count + strArray[j];
count = 1;
} else {
count++;
}
}
}
return str;
};
console.log(countAndSay(45));
这是我的 PHP 代码:
function countAndSay($n) {
$str = "1";
for ($i = 1; $i < $n; $i++) {
$fin = str_split($str);
$str = "";
$len = count($fin);
$cnt = 1;
for ($j = 0; $j < $len; $j++) {
if ($fin[$j] !== $fin[$j +1]) { //error for non numeric value
$str += $cnt + $fin[$j];
$cnt = 1;
} else {
$cnt++;
}
}
}
return $str;
}
echo countAndSay(9);
不负相思意