美文网首页php面试题
php面试:变量

php面试:变量

作者: AISpider | 来源:发表于2018-12-10 12:50 被阅读10次

php变量名是区分大小写的。 这句话是否正确?

答案:正确!

变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'。
$this 是一个特殊的变量,它不能被赋值。

$4site = 'not yet';     // 非法变量名;以数字开头
$_4site = 'not yet';    // 合法变量名;以下划线开头
$i站点is = 'mansikka';  // 合法变量名;可以用中文

变量分两种:传值赋值和引用赋值。(只有有名字的变量才可以引用赋值)

$foo = 'Bob';              // 将 'Bob' 赋给 $foo
$bar = &$foo;              // 通过 $bar 引用 $foo
$bar = "My name is $bar";  // 修改 $bar 变量
echo $bar;
echo $foo;                 // $foo 的值也被修改

$bar = &(24 * 7);  // 非法; 引用没有名字的表达式

虽然在 PHP 中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值 - 布尔类型的变量默认值是 FALSE,整形和浮点型变量默认值是零,字符串型变量(例如用于 echo 中)默认值是空字符串以及数组变量的默认值是空数组。

isset()语言结构可以用来检测一个变量是否已被初始化

范围

$a = 1;
$b = 2;
$c=4;
function Sum()
{
    global $a, $b;

    $b = $a + $b;
    echo $c;
}

Sum();
echo $b;

答案:3 因为$c的范围只在函数中

静态变量

function test()
{
    static $a = 0;
    echo $a;
    $a++;
}
test();
test();
test();
test();
test();
test();
test();
test();
test();
test();

答案:0123456789
静态变量每次运行,都会在上次运行的结果上自增。
静态变量一般使用在递归中,注意:递归必须确保有充分的方法来中止递归。

静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。申明的时候,必须赋值,并且是一个确定的值。不能是变量,函数等结果未知的值。

常量也可以为静态变量赋值,但是这样没任何意义,如上的例子中,

define("NAME", "0");
function test()
{
    
    static $a = NAME;
    $a=0;
    echo $a;
    $a++;
}

test();
test();
test();
test();
test();
test();
test();
test();
test();

答案将会是0000000000,因为NAME不是静态变量,每次赋值都从0开始。这样失去了静态变量本来的意义。

注意,在 PHP 的函数和类的方法中,超全局变量不能用作可变变量。$this 变量也是一个特殊变量,不能被动态引用。

确定变量类型:gettype(),is_array(),is_float(),is_int(),is_object() 和 is_string()

php在线面试题集:http://cainiaophp.com/
php面试讨论群:536633782

相关文章

  • PHP

    PHP 标签(空格分隔): 面试 PHP的引用变量的概念及定义 延伸: PHP引用变量的原理 概念:在 PHP 中...

  • php面试:变量

    php变量名是区分大小写的。 这句话是否正确? 答案:正确! 变量名与 PHP 中其它的标签一样遵循相同的规则。一...

  • PHP——2(PHP变量作用域)

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP——3(PHP变量分离/引用(Variables Sepa

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP——4(PHP赋值行为)

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP——1(PHP变量的存储结构)

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP 实例

    PHP 实例 运行PHP脚本PHP Double 数据类型PHP 字符串变量PHP 文档PHP局部变量PHP函数参...

  • PHP初级经典面试题目汇总(下篇)

    PHP初级经典面试题目汇总(上篇) 17、isset、empty、is_null的区别 isset 判断变量是否定...

  • php变量和数据类型

    php中的变量 PHP中的变量声明 PHP中的变量的使用 PHP中的数据类型之整型 PHP数据类型之浮点类型和布尔...

  • php中的变量和常量

    php是弱类型语言,变量类型和存入的值相关 变量 php中声明一个变量用 $符 php中变量的命名规范 可变变量:...

网友评论

    本文标题:php面试:变量

    本文链接:https://www.haomeiwen.com/subject/deyrhqtx.html