当前位置:首页 » 编程语言 » php初始化变量

php初始化变量

发布时间: 2022-12-31 09:47:16

php中为什么要初始化变量请高手解答

php是弱类型语言,可以直接用,不过初始化是个好习惯。这样以后再读代码的时候,可以很清楚该变量是干什么用的。

我一般只有在定义数组的时候初始化。有的函数比较大,可能好多单词比如data,之前用过了,但是如果忘了,继续用$data['title']=“ddd”;往$data放数据,就会导致之前data里的数据被覆盖,也可能之前不需要的数局进入了后面要用的data里。这时初始化一下,data实际就清空了。这样一般不会有什么问题

㈡ php 变量怎么初始化

直接
$a = '';

$b = 0;

$c = array();

就可以了,php在这方面比较省事,静态变量用define定义

如define('AAA',0);

类对象变量用 var

如 var $aaa = 0;

㈢ php变量初始化。用null。0。'' 那个好

习惯上都是用0的,因为0代表你初始化的这个变量时整形,而空则说明暂时不确定你初始化的这个变量的类型是什么,哪个好你应该明白了吧

㈣ php为什么变量要初始化 向高手讨教

是这样的,比如我们程序要使用$tmp来存储一个循环里面取到的内容,语句如下:

while(...){
if (...) $tmp=...;
}
if ($tmp==...) {...}

上面的语句,是在循环里面判断某个条件,条件满足就赋值,循环结束后判断变量的值来执行程序,看起来没问题,但是实际上有问题。

因为在循环前没有对$tmp='';这样初始化,那么循环中如果一直都没有满足条件,其实$tmp的值可能是不确定的。特别是,当字段全局变量开关打开的时候,$tmp的值可能是调用这个PHP文件时的参数值,例如xxx.php?tmp=xxx这样的调用就可以改变程序里面变量的值,非常危险。

㈤ 关于php当中static关键字,资料上说只能初始化一次。但是数组变量在定义时赋值会被下一次初始化覆盖!

你定义了static 就是静态变量
但是静态变量的初始化只进行一次,而且是定义静态变量的时候初始化
static $a = array(1,2,3);
print_r($a);
static $a = array();
这样实际上是定义了两次静态变量,并初始化,实际做会执行其中一个
就是后面这个
上面的代码实际上会被编译编程这样
<?php
function f1(){
static $a = array();

print_r($a);

print_r($a);
}
function f2(){
static $a = array();
$a[] = 1;
$a[] = 2;
$a[] = 3;
print_r($a);
print_r($a);
}

㈥ PHP定义类内数组,在初始化访问数组是提示为定义变量

$this->table[$i][0]="null";

㈦ PHP中为什么要初始化变量

由于不存在声明语句,所以变量初始化过程应该直接赋值,例如: $str_demo=""; 未初始化变量的默认值
未初始化的变量被使用时,具有其类型的默认值:FALSE,零,空字符串或者空数组。 举例如下: <?php echo ($unset_bool? "true": "false"); // false $unset_int += 25; // 0 + 25 => 25 echo $unset_string . "abc"; // "" . "abc" => "abc" $unset_array[3] = "def"; // array() + array(3 => "def") => array(3 => "def") ?> 未初始化变量可能带来的问题
依赖未初始化变量的默认值在某些情况下会有问题,例如: 直接使用未定义变量可能会报错,比如这样的程序 <?php if($command!= "kkk") echo "not kkk"?>
可能会出现错误提示 <b>Notice:</b> Undefined variable: command in <b>X:\wamp\www\xxx.php</b> on line 1
以上程序的错误信息属于E_NOTICE级别,是否显示出来与php.ini中的错误级别设置有关。

㈧ php为什么变量要初始化 向高手讨教

是这样的,比如我们程序要使用$tmp来存储一个循环里面取到的内容,语句如下:
while(...){
if
(...)
$tmp=...;
}
if
($tmp==...)
{...}
上面的语句,是在循环里面判断某个条件,条件满足就赋值,循环结束后判断变量的值来执行程序,看起来没问题,但是实际上有问题。
因为在循环前没有对$tmp='';这样初始化,那么循环中如果一直都没有满足条件,其实$tmp的值可能是不确定的。特别是,当字段全局变量开关打开的时候,$tmp的值可能是调用这个PHP文件时的参数值,例如xxx.php?tmp=xxx这样的调用就可以改变程序里面变量的值,非常危险。

㈨ ThinkPHP遇到的类私有变量赋值问题

Home\Common\Map.class.php文件

<?php

namespace Home\Common;

class Map {

    static function getName() {

        $map = array(

            '0' => '张三',

            '1' => '李四',

            '2' => '王五',

            '3' => '赵六'

        );

        return $map;

    }

}

Home\Controller\IndexController.class.php文件

<?php

namespace Home\Controller;

use Think\Controller;

use Home\Common\Map as map;

class IndexController extends Controller {

    private $sex = array(0,1);

    private $name = map::getName();  // 写法1

    // 测试 静态函数 类私有变量赋值

    public function getName() {

        $name = map::getName();        // 写法2

        var_mp($name);

    }

}

其中,写法1出错,显示:

写法2显示:

如果想私有变量赋值,可以构造函数赋值,即在__construct()里赋值:

$this->name = map::getName();    // 注意千万别写成$this->$name

类的变量成员叫做“属性”,或者叫“字段”、“特征”。属性声明是由关键字  public , protected  或者  private  开头,然后跟一个普通的变量声明来组成。 属性中的变量可以初始化,但是初始化的值必须是常数 ,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。

在类的成员方法里面,可以用  -> (对象运算符):$this -> property(其中  property  是该属性名)这种方式来访问 非静态属性 。 静态属性 则是用   :: (双冒号):self::$property 来访问。

当一个方法在类定义内部被调用时,有一个可用的伪变量 $this。$this 是一个到主叫对象的引用(通常是该方法所从属的对象,但如果是从第二个对象 静态 调用时也可能是另一个对象)。

具体请参考:http://php.net/manual/zh/language.oop5.properties.php

㈩ PHP的变量是什么

PHP中的每个变量都有一个针对它的作用域,它是指可以在其中访问变量(从而访问它的值)的一个领域。对于初学者来说,变量的作用域是它们所驻留的页面。我们为大家收集整理了关于PHP的变量,以方便大家参考。

变量是程序中或以变化的量,用于存储数字、字符串或函数的结果。

一旦设置了某个变量,我们就可以在脚本中重复地使用它。

PHP 中的所有变量都是以 $ 符号开始的。

在 PHP 中设置变量的正确方法是:

$var_name = value;

PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。

下面我们创建一个存有字符串的变量,和一个存有数值的变量:

$txt = "Hello World!";

$number = 16;

?>

PHP 是一门松散类型的'语言(Loosely Typed Language)

在 PHP 中,不需要在使用变量之前先声明该变量。

在上面的例子中,您看到了,不必向 PHP 声明该变量的数据类型。

根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。

在强类型的编程语言中,您必须在使用前声明变量的类型和名称。

在PHP中,变量会在使用时被自动声明。

变量的命名规则

变量名必须以字母或下划线 "_" 开头。

变量名只能包含字母数字字符以及下划线。

变量名不能包含空格。

如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。

热点内容
pythoneve 发布:2025-07-01 21:33:49 浏览:141
解压玩具怎么做只用水就可以做 发布:2025-07-01 20:52:56 浏览:160
解压放松室 发布:2025-07-01 20:52:43 浏览:124
存储器坏了 发布:2025-07-01 20:46:11 浏览:510
iphone怎么设锁屏密码 发布:2025-07-01 20:46:10 浏览:621
服务器如何处理千万请求 发布:2025-07-01 20:30:53 浏览:334
plsqldeveloperjob 发布:2025-07-01 20:29:59 浏览:805
剪切文件用什么配置 发布:2025-07-01 20:23:07 浏览:44
酷睿2020主要看哪些配置 发布:2025-07-01 20:23:06 浏览:261
sql保存文件 发布:2025-07-01 20:18:52 浏览:802