Php 为什么不使用新变量显示输出?

Php 为什么不使用新变量显示输出?,php,function,echo,global,Php,Function,Echo,Global,为什么不显示输出($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 ?> $h仅在测试函数中具有作用域。要获取$h值,您

为什么不显示输出($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 

?>

$h
仅在
测试
函数中具有作用域。要获取
$h
值,您可以将
$h
设置为全局,或者最好从myTest函数返回值

注意:该功能通常应为独立单元。通过在函数内部提供globals作用域(使用
global$x,$y
),为代码引入了不必要的、可能有害的依赖关系。下面的代码只是一个示例,用于说明问题的解决方案

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

$h = myTest();

您应该使用变量
$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