在php中声明变量的正确方法是什么?

时间:2015-12-26 10:28:39

标签: php xampp localhost

我在我的php文件中使用变量而没有声明它们。它在旧版本的localhost(即vertrigoServ 2.22)中运行良好。

但是当我转移到localhost的最新版本(即xampp 3.2.1)时,我遇到了变量声明警告和错误,如下所示:

  

注意:未定义的变量:D:\ Installed中的att_troops_qty   1247行上的Programs \ htdocs \ dashboard \ WarLord \ PHP_Code \ MyAjax.php

所以我在php文件的顶部声明了所有变量,如下所示:

$page = "";
$att_troops_qty = "";
$def_troops_qty = "";
$ca_level = "";
$b_level = "";
$pre_buildings = "";
$created_pre_b = "";
$building_id = "";
$building_loc = "";
$ca_1_b_loc = "";
$ca_1_b_level = "";
$ca_2_b_loc = "";
$ca_2_b_level = "";

它解决了问题但我感到困惑的是,这不是声明变量的正确方法。

是否有更好的变量声明方法?

5 个答案:

答案 0 :(得分:2)

您需要在回显之前声明变量。这里有一个例子:

<?php
    $var = "test";
    echo $var; // it will echo out test
?>

尝试以这种方式回显变量会产生错误:

<?php
    echo $var; // it will generate error
    $var = "test";
?>

此外,您可以在另一个文件中声明变量,并且可以包含该文件以在某处回显变量。请记住首先包含该文件然后再调用它。

示例 vars.php

<?php
    // define vars
    $var1 = "Test 1";
    $var2 = "Test 2";
?>

现在在另一个文件中,首先 include vars.php ,然后调用变量:

<?php
    require_once"vars.php";
    echo $var1;
?>

答案 1 :(得分:2)

你如何宣告是完全正确和正确的方式。

$test = "";

or

$test = null;

这两者都是声明空变量的正确方法。 有关详细信息,请访问http://php.net/manual/en/language.types.null.php

答案 2 :(得分:0)

检查变量是否声明的最佳方法是使用 isset() 函数,该函数检查变量是否为设置像:

<?php
    if(isset($a)){
       // execute when $a is set ( already declare ) or have some value
    }
    else {
      // execute when $a not set
   }
?>

答案 3 :(得分:0)

你不能使用未声明的变量 你可以随时申报。

内部功能你可以这样做:

function abc() {
    return $newVar or null; // without variable declaration
}

如果在函数返回null之前未声明$ newVar,则

或更好的方式:

function abc($newVar = null) {
    return $newVar; // with variable declaration
}

答案 4 :(得分:0)

您可以在php中将变量声明为

<?php
   $test = "xyz" //for String datatype
   $test1 = 10 //for integer datatype
?>

声明的变量的名称必须为字母数字,并且无需指定类型。