php – Fragen zur Definition von Variablen
过去多啦不再A梦
过去多啦不再A梦 2017-06-07 09:23:08
0
5
738

Ich bin ein Anfänger, ich verwende PHPstorm, um zu Hause den folgenden Code zu schreiben, und er läuft ohne Fehler
Der Code lautet wie folgt:


<?php
$x=5; // Globale Variable
function myTest()
{

$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";

}
myTest();
echo "<p>Externe Variable der Testfunktion:<p>";
echo "Variable x ist: $x";
echo "
";
echo "Variable y ist: $ y";
?>


Aber als ich bei der Arbeit war, meldete der Browser diese Eingabeaufforderung wie folgt:
Variablen in der Testfunktion:
Hinweis: Undefinierte Variable: x in F:WEBDEVELOPIndex.php in Zeile 8
Die Variable x ist:
Die Variable y ist: 10
Testvariablen außerhalb der Funktion:
Die Variable x ist: 5
Hinweis: Undefinierte Variable: y in F:WEBDEVELOPIndex.php in Zeile 18
Die Variable y ist:

Frage:
Ich habe ein PHP-Tutorial gelesen und dort stand, dass $ zum Definieren von Variablen verwendet werden kann, aber es wurde mir angezeigt, dass die x-Variable nicht deklariert wurde. Kann mir das bitte jemand erklären? Danke

过去多啦不再A梦
过去多啦不再A梦

Antworte allen(5)
女神的闺蜜爱上我
  1. 我猜测家里不报错而公司报错,是因为php报错级别设置不同导致的,你可以在代码的开头添加如下代码试试:

    error_reporting(E_ALL ^ E_NOTICE);// 除了E_NOTICE之外,报告所有的错误
    这个是动态设置的,你也可以在php.ini中设置,具体方法百度一下;

  2. 函数里面的变量对外是封闭的,外边设置了里面不能使用,这和php版本无关,楼上详细说明了。

迷茫

PHP 全局变量这里有详解

外部定义全局变量,函数内部使用的时候,需要使用global关键字,这是语法规定,或者使用$GLOBAL数组

女神的闺蜜爱上我

要声明他是全局变量才行,global $x;这样才行

巴扎黑

可以搜索关键字"作用域",每种语言的变量作用域都不相同,可以对比来理解。

曾经蜡笔没有小新

你看看你测试的 PHP 版本和工作环境的 PHP 版本。新的版本我不清楚,5.3、5.6 中全局变量的作用域不包括函数内部,所以函数识别不了 $x 很正常,因为在函数的作用域中没有这个变量

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage