PHP学习(2)

PHP 变量

变量被用作我们存储信息的“容器”。 

$txt = "Hello world!"; 

与代数类似,可以给 PHP 变量赋予某个值($x=5)或者表达式($z=$x+$y)。

变量可以是很短的名称(如 $x 和 $y)或者更具描述性的名称(如 $age、$carname、$totalvolume)。

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
<?php
$txt="Hello World";
$x=5;
$y=10.5;
echo $txt;
//输出内容 Hello World;
?>

PHP 是一门弱类型语言

在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。

PHP 会根据变量的值,自动把变量转换为正确的数据类型。

在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

php常量

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用。

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

define(string constant_name, mixed value, case_sensitive = true)

该函数有三个参数:

  • constant_name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_sensitive:可选参数,指定是否大小写敏感,设定为 true 表示不敏感。

以下实例我们创建一个 区分大小写的常量, 常量值为 "Welcome to php":

<?php
define("GREETING","Welcome to php");

echo GREETING;
?>

以下实例我们创建一个 不区分大小写的常量, 常量值为 "Welcome to php"

<?php
define("GREETING","Welcome to php",true);

echo GREETING;
?>

在常数名称前不需要美元符号($);

 

数据类型

变量可以存储各种数据类型。 PHP支持的数据类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。 

PHP 字符串

一个字符串是一串字符的序列,就像 "Hello world!"。

你可以将任何文本放在单引号和双引号中:

<?php
$x="Hello World";
echo $x;
echo "<br>";
$y="Hello World"
echo $y;
?>

你可以使用点 .  连接运算符将两个字符串连接在一起。 例如:echo $x1.$x2;

PHP 整型

整数是一个没有小数的数字。

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

在以下实例中我们将测试不同的数字。 

<?php
$x = 1314;
var_dump($x);
echo "<br>";
$x = -996;  // negative number
var_dump($x);
echo "<br>";
$x = 0x8C; // hexadecimal number
var_dump($x);
echo "<br>";
$x = 047; // octal number
var_dump($x);
?>

在PHP中使用 var_dump() 函数可以返回变量的数据类型和值 

php数据类型

PHP 浮点型

浮点数是带小数部分的数字,或是指数形式。

在以下实例中我们将测试不同的数字。

<?php
$x = 3.1415;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>

PHP 布尔型

布尔型可以是 true 或 false。

<?php
$x = true;
$y = false;
?>

 布尔值通常用于条件判断;

注意: 在PHP中, null、true、false不区分大小写, 所以True,TRUE,true是一样的, 不过建议统一使用小写true 

 

PHP 数组

数组可以在一个变量中存储多个值。

在以下实例中创建了一个数组:

<?php
$cars = array("audi","bmw","benz");
var_dump($cars);
?>

PHP 对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明。

首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<?php
class Car{
  var $color;
  function Car($color="green"){
     $this->color=$color;
}
  function what_color(){
     return $this->color;
}
}
?>

PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。

PHP NULL 值

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

<?php
$x = "Hello World";
$x = null;
var_dump($x);
?>

 

 可以通过设置变量值为 NULL 来清空变量数据

变量的作用域

PHP 变量作用域

变量的作用域是脚本中变量可被引用/使用的部分。

PHP 有四种不同的变量作用域:

  • local
  • global
  • static
  • parameter

局部和全局作用域

在所有函数外部定义的变量,拥有全局作用域。

除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

<?php
$x = 5;
function myTest(){
  $y = 10; // 局部变量
  echo "<p>测试函数内变量</p>";
  echo "变量 x is: $x";
  echo "<br>";
  echo "变量 y is: $y";
  echo "<br>";
  global $x;
  echo "使用global关键字 x is: $x";
}
myTest()
echo "<p>测试函数外变量</p>";
echo "变量 x is: $x";
echo "<br>";
echo "变量 y is: $y";
?>

 

global 关键字

PHP global 关键字

global 关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

<?php
$x = 5;
$y = 10;
function myTest(){
  global $x,$y;
  $y = $x + $y;
}
myTest();  // run function
echo $y; // output the new value for variable $y
?>

 

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

上面的实例可以写成这样:

<?php
$x = 5;
$y = 10;
function myTest(){
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y;
?>

Static 作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候你希望某个局部变量不要被删除。

要做到这一点,请在你第一次声明变量时使用 static 关键字:

<?php
function myTest(){
  static $x = 0;
  echo $x;
  $x++;
}
echo myTest();  //output 0
echo myTest();  //output 1
echo myTest();  //output 2
?>

然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

注释:该变量仍然是函数的局部变量。

可变变量

使用PHP,你可以使用一个变量来指定另一个变量的名称。 

所以,一个变量变量将另一个变量的值作为它的名称。

例如:

<?php
$a = "hello";
$hello = "Hi";
echo $$a;  //output 'Hi'
?>

$$a是使用另一个变量$a的值作为其名称的变量。 $a的值等于“hello”。结果变量是$hello,它保存值“Hi!”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值