Как бросать предупреждения в PHP? - PullRequest
0 голосов
/ 28 ноября 2018

Если мы что-то упустили, компилятор выдает предупреждение по своей природе. В любом случае, я хотел пренебречь предупреждением или не показывать предупреждения в программах php.

Пример предупреждения:

Ошибка (и), предупреждение (я): Примечание PHP: Неопределенная переменная: z в source_file.php в строке 11

Ниже приведен пример, который показывает предупреждение: как мы можем пренебречь или подавитьпредупреждение?

<?php
$x=4;
$y=3;
function func($x=3 ,$y=4)
{
    $z=$x+$y/$y+$x;
    echo '$z';
}
echo $x;
echo $y;
echo $z;
func($x,$y);
?>

Ответы [ 4 ]

0 голосов
/ 28 ноября 2018

потому что вы не определили $ z.правильный код указан ниже.

<?php
	$x=4;
	$y=3;
	$z="";
	function func($x=3 ,$y=4){
	    $z=$x+$y/$y+$x;
	    echo $z;
	}
	echo $x;
	echo $y;
	echo $z;
	func($x,$y);
?>
0 голосов
/ 28 ноября 2018

Он пытается сказать вам, что z не определено, откуда вы пытаетесь его использовать.На самом деле, он определяется только в функции func.Просмотрите область переменных в PHP .

Редактировать : В: Как удалить предупреждение?A: Вам нужно либо определить z, либо отключить предупреждение от компилятора.Я бы настоятельно рекомендовал бы вам определить это.Ответ ниже уже дает возможную альтернативу вашему коду, где проблема решена.

0 голосов
/ 28 ноября 2018

Вы печатаете переменную $ z в строке 11, которая не определена.Вы определили $ x и $ y, но не $ z.

$ z в вашей функции "func" существует только в области действия функции, а не в "основном" скрипте.

Итак, я думаю, что вы пытаетесь сделать:

<?php

function func($x=3 ,$y=4)
{
    $z=$x+$y/$y+$x;
    return $z;
}

$x=4;
$y=3;

//Now $z is defined!
$z = func($x,$y);

echo $z;

?>
0 голосов
/ 28 ноября 2018

Переменная $ z имеет область действия уровня функции, как вы объявляете ее в функции. Следовательно, вы получаете это предупреждение.Кроме того, нет необходимости определять вашу функцию как

function func($x=3 ,$y=4) {} // here you are limiting the function to perform calculation for only 3 and 4

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

function func($x ,$y){}

и используйте эту функцию в своем коде каксколько угодно раз.

Для достижения желаемого результата попробуйте следующий код

$x=4;
$y=3;
function func($x=3 ,$y=4)
{
    return $x+$y/$y+$x;
}
echo $x;
echo $y;
$z = func($x,$y);
echo $z;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...