PHP基础之数据类型与输出

PHP基础语法

1. PHP的类型

PHP有八大类型:
四种标量类型:布尔型(boolean)、整型integer、浮点型(float)、字符串(string)
两种符合型:数组(array)、对象(object)
两种特殊类型:资源(resource)、NULL

2. PHP的输出语句:


echo:


echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号。不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误。而且echo是返回void的,并不返回值,所以不能使用它来赋值。

<?php
 $a = echo("xshell"); // 错误!不能用来赋值
 echo "xshell"; // xshell
 echo ("xshell"); // xshell
 echo ("xshell","net"); //发生错误,有括号不能传递多个参数
 echo "xshell"," net"," is", " web";  // 不用括号的时候可以用逗号隔开多个值, 会输出 xshell net is web
 echo "xshell is
 good
 web.";  // 不管是否换行,最终显示都是为一行 xshell is good web.
 echo "$fistname net"; // 如果 $firstname = "xshell", 则会输出 xshell net.
 echo '$firstname net'; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname net
 ?>


print:

print() 和 echo() 用法一样,但是echo速度会比print快一点点。实际上它也不是一个函数,因此您无需对其使用括号。不过,如果您希望向print() 传递一个以上的参数,那么使用括号会发生解析错误。注意print总是返回1的,这个和echo不一样,也就是可以使用print来赋值,不过没有实际意义。

<?php
$a = print("xshell"); // 这个是允许的
echo $a; // $a的值是1
?>


print_r:


print_ r 函数打印关于变量的易于理解的信息。


语法:mixed print_r ( mixed $expression [, bool return ] )
如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式。对于object对象类同。print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE。

<?php
 $a="xshell";
 $c = print_r($a);
 echo $c;  // $c的值是TRUE
 $c = print_r($a, ture);
 echo $c; // $c的值是字符串xshell
?>


var_dump

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

<?php
 $a=100;
 var_dump($a); //int(100)
 $a=100.356;
 var_dump($a); //float(100.356)
?>

布尔类型:

<?php
header('Content-type:text/html;chatset:utf-8');
$bool = TRUE;
$str = 'string';
$int = 12;
$flo = 12.6666;
var_dump($bool);
var_dump($str);
var_dump($int);
var_dump($flo);
/*
  php是弱类型检查的语言,变量和常量的数据类型由程序的上下文决定
  不需要程序员定义变量的类型
  php中支持八种原始类型
  四种标量类型 boolean(布尔型) integer(整型) float(浮点型 也称
  double) string(字符串)
  两种复合类型 array(数组) object(对象)
  两种特殊类型 resource(资源) NULL
*/
//php会将任何类型的值转换为布尔类型
// 整型值0  浮点值0.0  空白字符串和字符串"0"  没有成员变量的数组
// 和特殊类型NULL
var_dump((boolean) "");//false
var_dump((boolean) 0.0);//false
var_dump((boolean) 0);//false
var_dump((boolean) "000");//true
var_dump((boolean) "0");//false
var_dump((boolean) array());//fasle
var_dump((boolean) array(0));//true
var_dump((boolean) NUlL);//fasle
 ?>

字符串:

PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。

<?php

 $name="string";

echo  " 字符串".'$name';//字符串$name 

echo  "字符串"."$name"; //字符串string

?>

转移字符

转义字符,顾名思义会将规定的语法用”\”来输出。但语法规定在不同的系统中转义字符的作用不同,例如:windows下的回车换行符用”\r”或”\n”,而Linux 这两就有很大的区别:”\r”光标回到行首,但还在本行; “\n”表示下一行,不会回到行首。

PHP中的转义字符有:

" \n" ==>换行               

"\r"==>回车           

"\t"==>水平制表符       

 "\\"==> 反斜杠

"\$" ==>美元符号    

 " \' "==>单引号  

 " \" " ==>双引号 

" \[0-7]{1,3}  "            正则表达式匹配一个八进制符号表示的字符

" \x[0-9A-Fa-f]{1,2} "    正则表达式匹配一个十六进制符号表示的字符

在PHP中,理解单引号与双引号有什么区别是重要的。当所发送的数据中涉及到单引号和双引号时,在打印双引号时使用单引号,反之亦然,如:

echo 'She said,"How are you?"'; 

print "I'm just ducky.";

或者,通过在有问题的字符前面放置一个反斜杠,对它进行转义:

echo "She said,\"How are you?\" ";

print 'I\'m just ducky.';

转义字符代码 转义字符的含义

\ "     双引号
\ '     单引号
\ \     反斜杠
\ n     换行符
\ r     回车符
\ t     制表符
\ $    美元符号

提示:

  1. 由于PHP将试图找出那些需要将其值插入到双引号内的变量,所以从理论上讲,使用单引号要快一些。但是,如果需要打印一个变量的值,则必须使用双引号。

  2. 因为有效的HTML常常包括许多用双引号括住的属性,所以当利用PHP打印HTML时,使用单引号最容易。

echo ‘

’;

如果想使用双引号打印出上面这段HTML代码,将不得不对字符串中的所有双引号进行转义,所以相对来说较麻烦。

变量的引用赋值

变量的引用赋值

<?php
  //变量的引用赋值
  //
  $foo = 'Bob';
  $bar = &$foo;//&连接符在这里 很关键的

  /*
在上面的代码中 并不是将变量$foo 的值符给变量&bar 而是将
$foo的引用赋值给了 $bar ,这时 相当于 $foo 和$bar 同时指向
了 Bob 这个值,当其中一个改变时  所有的都将改变
  */
  $bar = "My name is Tom";
  echo "$foo";
  echo "$bar";
 ?>

可变变量

<?php
  //可变变量 可以在变量的基础上面再次对其进行定义
  $h1 = "hello";//声明一个普通的变量 值为 hello
  $$h1="world";//$h1的值是 hello 相当于$hello的值是 world
  echo "$h1";
  echo "$hello";

 ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值