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

php变量初始化

发布时间: 2023-03-18 21:46:56

‘壹’ php中判断变量为空的几种方法

if (isset($obj)) {
echo "This var is set set so I will print.";
}

isset函数是检测变量是否设置。

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。

‘贰’ php求助 static修饰的变量不是只运行一次吗图里面为什么运行2次

static静态变量只被初始化一次,是函数或类的内部保存值
这里,相当于你的newfile.php执行结束之前,$temperature=25;只会被初始化一次。
即第一次调用ee()时$temperature初始化为25,
第二次调用ee()时,$temperature没有在被重新初始化,而是沿用函数内部的保存值25

你可以在static$temperature=25后面加两句,
++$temperature;echo$temperature.'<br/>';
在运行会打印26和27
ee()函数执行了多少次,就会在25上加多少
因为$temperature只有第一次被初始化为25,后面都是沿用之前运算后的值

‘叁’ Notice: Undefined index: actiontype in D:\freehost\tsnanion\web\app\controller\index.php on line

首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。

方法1:服务器配置修改
修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE

方法2:对变量进行初始化,规范书写(比较烦琐,因为有大量的变量)。但还没有找到好定义方法,望大家指教

方法3:每个文件头部加上:error_reporting(0); 如果不行,只有打开php.ini,找到display_errors,设置为display_errors = Off。以后任何错误都不会提示。ini_set(“display_errors”, 0);

方法4 :做判断:isset($_GET["page"]) if-else判断
或者加上’@'表示这行如果有错误或是警告不要输出老埋
如:@$page=$_GET["page"]

方法5:file1.php文件把$xx变量付一个值,用post传递给file2.php,
如果file2.php没铅含信有$xx的定义,而直接使用$yy=$xx; 系统就会报错:”undifined variaable $xx”, 如果file2.php的文件开始用$xx=”槐轮";定义,那么file1.php的$xx值就传不过来了!

file2.php里可以这样
if(!isset($xx)) $xx=”";

‘肆’ 关于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变量初始化。用null。0。'' 那个好

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

‘陆’ php中函数内部的变量怎么设置为全局变量

使用引用啊

给你写个例子啊,稍等

<?php

$A = 10; //初始化一个变量, 并赋值10

echo $A; //输出这个值

echo ''; //这里输出一个换行符是等下演示运行的时候为了区分

function B( &$B ) { //自定义函数, 参数是引用形式

$B += 33; //给参数的值再加上33;

}

B( $A ); //调用这个自定义函数, 并把变量A作为参数

echo $A; //再次输出变量A的值


php面向过程编程方式中的自定义函数, 是一个独立的整体, 参数和返回值可以理解为是函数本身和函数之外的一个接口而已!

换句话说,常规下, 自定义函数中的变量与外部变量并没有关系, 哪怕变量名一模一样。各自独立!

而添加引用就不同了,引用可以理解为,比如说,就像2个手机号码绑定消费一样, 任何一个手机号消费, 就等于2个号都在消费,,当然,这是一个比喻啊!

如对您有帮助,望采纳,谢谢

‘柒’ 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

热点内容
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:523
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:405
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:662
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:389
忍3无伤脚本 发布:2024-11-05 19:11:40 浏览:302
江苏云服务器散热器定制 发布:2024-11-05 18:50:15 浏览:719
投资分红网站源码 发布:2024-11-05 18:36:38 浏览:504
我的世界推荐适合萌新的服务器 发布:2024-11-05 18:30:03 浏览:580
c语言考级 发布:2024-11-05 18:16:54 浏览:505
易语言不能编译安卓app吗 发布:2024-11-05 18:14:11 浏览:837