Почему вывод не отображается с новой переменной? - PullRequest
2 голосов
/ 20 октября 2019

Почему вывод ($ h) не отображается? Я не хочу удалять (функция)

, пожалуйста, исправьте это.

Вот мой код:

<?php
$x = 5 . "*";
$y = 10 . "=";

function myTest() {
    global $x, $y;
    $h = $x + $y; //new variable
} 
myTest();  // run function

echo $x . $y . $h; // output the value 

?>

Ответы [ 2 ]

1 голос
/ 20 октября 2019

Вы должны использовать переменную $h в качестве глобальной переменной

$x = 5 . "*";
$y = 10 . "=";
$h = null;// declare $h
function myTest() {
  global $x, $y, $h; //use $h here
  $h = $x + $y; //new variable
} 
myTest();  // run function

echo $x . $y . $h; // output the value 
1 голос
/ 20 октября 2019

$h имеет только область действия внутри функции test. Чтобы получить значение $h, вы можете либо сделать глобальным $h, либо, предпочтительно, вернуть значение из функции myTest.

Примечание: функция обычно должна быть автономнойБлок. Предоставляя глобальные возможности внутри функции (используя global $x, $y), вы вводите ненужные и, возможно, вредные зависимости в коде. Приведенный ниже код является примером только для иллюстрации решения вашего вопроса.

function myTest() {
    global $x, $y;
    return $x + $y;
} 

$h = myTest();
...