PHP学习2

常量

 1 //常量定义语法1:
 2 //define("常量名",  常量值);
 3 define("PI",  3.14);
 4 define("SCHOOL", "sc");
 5 //定义形式2:
 6 //const  常量名  = 常量值;
 7 const  CC1 = 1234;
 8 const  CC2 = 'abcd';
 9 
10 //使用形式1:直接使用其名字
11 echo "<br />常量PI的值是:" . PI;    //注意,不能写在引号中
12 echo "<br />常量SCHOOL为:" . SCHOOL;
13 $s1 = PI * 3 * 3;    //求半径为3的圆面积
14 //使用形式2:使用函数constant()获得一个常量的值:
15 //形式: constant("常量名");//注意:常量名是一个字符串
16 $s2 = constant("PI") * 3 * 3;
17 echo "<br />s1= $s1, s2 = $s2";
18 echo "<br />" .  SCHOOL . constant("CC1") . constant("CC2");
19 
20 //取得常量值的灵活性语法:
21 $i = 1;
22 $c1 = "CC" . $i;
23 echo "<br />常量 $c1 的值为:" . constant($c1);//输出1234
24 
25 
26 if( defined("PI") ){
27     echo "<br />常量PI已经存在";    //通常此时就可以去使用它!
28 }
29 else{
30     echo "<br />常量PI不存在";//通常,判断不存在,是为了来定义它!
31     define("PI", 3.14);    //然后去使用
32 }
33 $s3 = PI * 5 * 5;
34 echo "<br />面积为:$s3";
35 
36 if( defined("G") ){
37     echo "<br />常量G已经存在";    //通常此时就可以去使用它!
38 }
39 else{
40     echo "<br />常量G不存在";//通常,判断不存在,是为了来定义它!
41     define("G", 9.8);    //然后去使用,G是”重力加速度"
42 }
43 $s4 = G * 6 ;    //6为时间(秒),这里是计算得到速度
44 echo "<br />速度为:$s4";
45 
46 //
47 echo "<hr />";
48 echo  "v1的值为"  .  $v1;        //注意,该变量v1未定义过
49 echo  "C1的值为"  .  C1;        //注意,该常量C1未定义过
50 
51 //魔术常量:
52 echo "<br />" .  __FILE__;
53 echo "<br />" .  __DIR__;
54 echo "<br />" .  __LINE__;
55 echo "<br />" .  __LINE__;
56 echo "<br />" .  __LINE__;

数据类型

总体划分

8种数据类型:

基本类型(标量类型):

整数类型: intinteger

浮点数类型: floatdoublereal

字符串类型: string

布尔类型: bool,  boolean 这种类型,只有2个数据:true,false

复合类型:

数组: array

对象: object

特殊类型

空类型: null 这种类型中,只有一个数据,那就是null

资源类型: resource

 

整数类型

整数类型的4种写法:

$n1 = 123; //10进制数字写法

$n2 = 0123; //8进制数字写法,实际n2中存储的数字比123

$n3 = 0x123; //16进制数字写法,实际n3中存储的数字比123

$n4 = 0b1010; //2进制数字写法

 

进制转换问题

首先记住这几个单词:

bin2进制

oct8进制

dec10进制

hex16进制

进制转换主要分2种情况:

110进制转换为其他3种进制:decbin(), decoct(), dechex();

2,其他3种进制,转换为10进制:

 

进制转换的系统函数——必须会用

进制转换主要分2种情况:

110进制转换为其他3中进制:

decbin(一个10进制数字) 结果返回的是该数字的2进制数字形式的字符串!!!

decoct(一个10进制数字) 结果返回的是该数字的8进制数字形式的字符串!!!

dechex(一个10进制数字) 结果返回的是该数字的16进制数字形式的字符串!!!

2,其他3种进制,转换为10进制:

bindec(一个2进制数字字符串) 结果返回的是该2进制数字字符串对应的10进制数字!!!

octdec(一个8进制数字字符串) 结果返回的是该8进制数字字符串对应的10进制数字!!!

hexdec(一个16进制数字字符串) 结果返回的是该16进制数字字符串对应的10进制数字!!!

对于输入的字符串中的字符,如果不是对应进制的数字,会被忽略。

 

类型转换

自动转换:

在任何运算中,如果需要某种类型的数据,而给出的数据不是该类型,通常都会发生自动转换:将该类型转换为目标需要的类型。

比如: octdec($x), bindec($x),  hexdec($x); //这里就要求$x必须是字符串,如果不是,就会转换;

$v1 = 1 + “2”; //此时也发生了自动转换。

 

强制转换:

自动类型转换是由运算符或类似运算符的语句来决定的。

而:

强制类型转换,仅仅是一个简单的语法:

形式:(目标类型)数据;

含义: 将该数据转换为设定的目标类型;

通常的转换目标类型有:

(int),  (float),  (string),  (bool),  (array),  (object)

上述强制类型转换,并不改变该变量的本身数据或类型。

对应,有一个语法是直接改变改变本的数据(及类型):

settype( $变量名,  “目标类型”);

 

类型相关的函数

  • var_dump():用于输出变量的“完整信息”,几乎只用于调试代码。
  • getType($变量名):获取该变量的类型名字,返回的是一个表示该类型名字的字符串,比如:“string”,“bool”,“double”,“int”
  • setType($变量名,“目标类型”):将该变量强制改变为目标类型;
  • isset(), empty(), unset();。。。。省略!
  • is_XX类型() 系列函数:判断某个数据是否为某种类型,有如下一些:
    • is_int($x); 判断$x是否是一个整数类型;
    • is_float($x);
    • is_string($x);
    • is_bool($x);
    • is_array($x);
    • is_object($x);
    • is_null($x);
    • is_numeric($x); 判断$x是否是一个数字!
    • is_scalar($x); 判断$x是否是一个“标量类型”

 

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
 5     <title>网页标题</title>
 6     <meta name="keywords" content="关键字列表" />
 7     <meta name="description" content="网页描述" />
 8     <link rel="stylesheet" type="text/css" href="" />
 9     <style type="text/css"></style>
10     <script type="text/javascript"></script>
11 </head>
12 <body>
13 <?php
14 if(!empty($_POST)){
15     echo "<p>post数据:<br />";
16     print_r($_POST);
17 }
18 if(!empty($_GET)){
19     echo "<p>get数据:<br />";
20     print_r($_GET);
21 }
22 if(!empty($_REQUEST)){
23     echo "<p>request数据:<br />";
24     print_r($_REQUEST);
25     echo "<br />也可以这样写:";
26     echo "<br />" . $_REQUEST['d1'];
27     echo "<br />" . $_REQUEST['d2'];
28     echo "<br />" . $_REQUEST['age'];
29     echo "<br />" . $_REQUEST['data1'];
30     echo "<br />" . $_REQUEST['data2'];
31 }
32 ?>
33 <form  action="index.php?d1=5&d2=cctv&age=18" method="post">
34     数据1:<input type="text"  name="data1" />
35     <br />
36     数据2:<input type="text"  name="data2" />
37     <br />
38     <input type="submit" value="提交" />
39 </form>
40 </body>
41 </html>
原文地址:https://www.cnblogs.com/liqiantu/p/5831487.html