Member 12598972 Ответов: 1

Я конвертирую этот код javascript в PHP, но он, похоже, не работает


Ниже приведен код на языке Javascript:

const printNumberStarMatrix = function (row, col) {

    for (let i = 1; i <= row; ++i) {
        let strToPrint = "";
        for (let j = col - i; j >= 1; --j) {
            strToPrint = j + strToPrint;
        }
        while (strToPrint.length < col) {
            strToPrint += "*";
        }
        console.log(strToPrint);
    }
}


Что я уже пробовал:

Ниже приведен код, который я написал на php:

<?php
$printNumberStarMatrix = function ($row, $col) {
	for ($i = 1; $i <= $row; ++$i) {
		$strToPrint = "";
			for ($j = $col - $i; $j >= 1; --$j) {
				$strToPrint = $j + $strToPrint;
			}
	}
	while ($strToPrint < $col) {
		$strToPrint += "*";
		}
echo $strToPrint;
	};
$printNumberStarMatrix(5, 6);
?>

jsc42

Посмотрите внимательно на свою транслитерацию, вы что-то упустили (подсказка: это находится в предложении "while").

Member 12598972

Я использовал count($strToPrint) и strlen($strToPrint), но он все еще показывает "нечисловое значение, встречающееся в строке 6.
Нечисловое значение,встречающееся в строке 10"

1 Ответов

Рейтинг:
1

OriginalGriff

Делают ли эти две линии одно и то же?

while (strToPrint.length < col)
while ($strToPrint < $col)


Member 12598972

Я использовал count($strToPrint) и strlen($strToPrint), но он все еще показывает "нечисловое значение, встречающееся в строке 6.
Нечисловое значение,встречающееся в строке 10"

OriginalGriff

Вы понимаете, что тратите больше времени и усилий на то, чтобы не писать свой собственный код, как если бы вы сами делали свою домашнюю работу?
Это элементарное упражнение, предназначенное для того, чтобы вы начали думать о том, "как кодировать" - и если вы "обманываете" и просто находите что-то, что, по вашему мнению, может работать на языке, которого вы даже не знаете, то лично вы не получаете пользы от этого упражнения. Это действительно хорошая идея, чтобы сделать это самостоятельно, так как это поможет вам понять, как вам нужно thi8nk для более поздних, более сложных задач.

Дайте ему попробовать! Это действительно не такая уж сложная работа - черт возьми, это, вероятно, всего лишь дюжина строк кода!