Функция возвращает много уведомлений

Во-первых, мой уровень мастерства в лучшем случае — хоббит — я новичок по сравнению с большинством, если не со всеми вами.

Я пытаюсь создать функцию, которая будет возвращать один <br /> если параметр / значение не указано, иначе будет возвращено столько <br /> теги в качестве значения $num равно.

Я пытаюсь создать эту функцию для:

A) Узнайте, как создавать функции

B) Я ненавижу печатать <br />

C) меня заинтересовала идея о функции, которую я придумал.

Так что, в идеале, в моем коде, если введите getBrT(), он вернет один <br /> тег, если я наберу getBrT(1), он также вернет один <br /> тег, но если ввести getBrT(5), вернется пять <br /> теги.

Это не работает, как я надеялся, когда я печатаю getBrT(), Всегда ли мне нужно вводить значение? Разве то, что я пытаюсь сделать, не возможно в рамках ограничений PHP?

Вот функция, как я ее построил:

function getBrT2($num){
//if num equals 'nothing', 1 break - easier to call/type in code repeatedly
if ($num = ''){
echo '<br /';
}else{
//if num equals 'something', breaks equal value
$i = 0; // initialize counter
while ($i < $num) {
echo '<br />'; // increment the counter
$i++;}
}
}

0

Решение

Чтобы убедиться, что это работает, когда в функцию не передается никакого значения, установите значение по умолчанию.

function getBrT2($num = 1) {             // default value is 1
$num = (int) $num;                   // cast num to integer
if ($num < 1) {                      // if num is 0 or negative make it 1
$num = 1;
}
return str_repeat('<br/>', $num);    // echo out as many <br/> as requested
}
echo getBrT2(1);       // prints out "<br/>"echo getBrT2(5);       // prints out "<br/><br/><br/><br/><br/>"echo getBrT2();        // prints out "<br/>"echo getBrT2('');      // prints out "<br/>"echo getBrT2('hello'); // prints out "<br/>"

Я сделал несколько улучшений в вашей функции.

  • Помимо значения по умолчанию, я приводил значение, переданное в целое число, поскольку это то, с чем нам нужно работать. Любые строковые значения, которые не начинаются с числа, будут преобразованы в 0,
  • Затем мы проверяем, если $num является 0 или отрицательное число. Если так, мы делаем это 1,
  • Тогда мы используем str_repeat() создать как можно больше <br/> теги по желанию.
  • Затем мы возвращаем эту строку, чтобы она могла выводиться эхом.
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]