学习PHP 第一天,变量及常量

<?php
php代码
?>//下面这个也可不写
echo "<p>测试函数外变量:<p>";        //双引符或单引符的效果都是一样,无差异
echo '<p>sss测试函数外变量:<p>';
echo $biaos= '单引号 </br>'; //都可以正常输出 ,字符串可以用单引号或双引号 一样的效果
echo $biao ="双引号 </br>";
//对于字符串类型的数据
$str123 = "这是字符串变量";  
echo "$str123";   //打印:这是字符串变量   双引号输的是变量的值
echo '$str123';   //打印:$str123     单引号输出的是字符串
echo "---------<br>";
echo "string123"; //打印:string123    输出的都是字符串
echo  'string456';  //打印:string456   输出的都是字符串

 

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

 

define(常量名,常量值)

<?php

define('MY_NAME','PHP中文网');

echo MY_NAME;
//下面是错误的调用方式
echo '我的名字是MY_NAME';
//正确的调用方式该这么写
echo '我的名字是' . MY_NAME;  //在字符串中调用常量的时候,常量必须在引号外面
?>

echo 中国试试看,试一下吧,感谢PHP;
echo "<br>中国试试看,试一下吧,感谢PHP</br>";
echo  aabb;

上面三条语句都可以正常打印出来,但是IDE工具会有提示此语句是未被定义的常量,

Undefined constant aabb

Undefined constant中国试试看,试一下吧,感谢PHP

所以如果你是这下面这样定义:

const xxx = "this is php const";
echo xxx;   //这是完全OK的,

----------------------

define('xiaoxie',true);

echo "buer =".xiaoxie;

输出是:1,

 

echo同时打印多个变量时(.为PHP的连接运行符,与java中的 +连接符 机制一样)

$x = 123;
$y = 345;
$aaa = "san";
$bbb = "cai";
function mytestString(){
    //echo  $GLOBALS['aaa'].$GLOBALS[bbb]; //输入sancai   
//PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
    global  $aaa,$bbb;
    echo $aaa.$bbb;   //输出:sancai
    echo "<br>";
    echo "$aaa$bbb";  //输出:sancai
    echo "<br>";
    echo "$aaa.$bbb";  //输出:san.cai
    echo "<br>";
    echo "$aaa,$bbb";  //输出:san,cai
    echo "<br>";
    echo $aaa."  ----  ".$bbb;  //输出:san ---- cai
    echo "<br>";
}
function mytest(){
   global $x,$y;
   echo "$x.$y";   输出:123.456
    echo "<br>";
    echo $x.$y;输出:123456
    echo "<br>";
    echo "$x,$y";输出:123,456
}

PHP中的echo语句可以显示多个变量,使用逗号分割就可以,例如下面的语句显示变量$a,$b,$c:
echo $a, $b, $c;
运行会发现,上面三个变量的值会连在一起出现,因此一般情况下可以如下添加分隔符(例如空格):
echo $a, ' ', $b, ' ', $c;
这样的语句,其实是显示了三个变量、两个常量。
此外,多个变量还可以放在字符串里面,组合为一个串进行输出,例如:
echo "$a, $b, $c";

 

(1)  PHP 会解析双引号中的变量,而不会解析单引号中的变量。也就是说,如果使用单引号定义的字符串中出现变量,在输出时变量会被原样输出,不会解析成变量的值。

(2) 但是如果变量后边还有字符串的话,就需要将变量与后面的字符串使用空格分开,或者使用大括号{ }将变量包裹起来。如果不这么做的话,很可能会造成意想不到的结果。

这里总结了一下 PHP 中使用引号的原则,如下所示:

  • 在 PHP 代码中尽量用单引号;
  • 字符串中包含变量的时候,使用双引号可以简化操作;
  • 如果字符串比较复杂且包含变量时,将变量使用大括号包裹起来;
  • 字符串中不需要加入变量或者单引号'和反斜杠\时,尽量用单引号定义字符串。

 

总结

一、常量和变量有如下不同

1、常量前面没有美元符号($)

2、常量只能通过define()函数定义,而不能通过赋值语句

3、常量可以不用理会变量的作用域在任何地方定义和访问

4、常量一旦定义就不能重新定义或取消定义

5、常量的值只能是标量(boolean、integer、float和string)


const和define的区别

1、const是一个语言结构;const定义的常量是大小写敏感。而define是一个函数,可以通过第三个参数来指定是否区分大小写。true表示大小写不敏感,默认为false

define('PI', 3.14, true);

2、const简单易读,编译时要比define快很多。

3、const可在类中使用,用于类成员常量定义(在php5.3.0以后,可以使用const关键字在类定义的外部定义常量),定义后不可修改,const在类内定义常量,并且const必须通过类名::变量名来进行访问;define不能在类中使用,可用于全局变量

4、const是在编译时定义,因此必须处于最顶端的作用区域,const不能在函数,循环及if条件中使用;而define是函数,也就是能调用函数的地方都可以使用

5、const只能用普通的常量名,define常量名中可以有表达式

6、const定义的常量只能是静态常量,define可以是任意表达式


echo与print,var_dump()和print_r()的区别

1.echo 和 print 的区别

共同点:首先echo 和 print 都不是严格意义上的函数,他们都是 语言结构;他们都只能输出 字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据;

而区别是:echo 可以连续输出多个变量,而print只能一次输出一个变量。print打印的值能直接复制给一个变量,如 $a = print “123”;

而echo 不可以,它没有像函数的行为,所以不能用于函数的上下文。在使用时,echo() 函数比 print()速度稍快。

2.var_dump()和print_r()的区别

共同点:两者都可以打印数组,对象之类的复合型变量。

区别:print_r() 只能打印一些易于理解的信息,且print_r()在打印数组时,会将把数组的指针移到最后边,使用 reset() 可让指针回到开始处。 而var_dump()不但能打印复合类型的数据,还能打印资源类型的变量。且var_dump()输出的信息则比较详细,一般调试时用得多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值