zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Centos7升级gcc版本方法之一使用scl软件集
    JMeter的使用——ApacheJMeterTemporaryRootCA.crt的用法
    JavaWeb学习记录(十九)——开发JSTL自定义标签
    JavaWeb学习记录(二十二)——模式字符串与占位符
    JavaWeb学习记录(二十一)——国际化处理
    JavaWeb学习记录(二十六)——在线人数统计HttpSessionListener监听实现
    JavaWeb学习记录(二十五)——权限管理总结
    JavaWeb学习记录(二十四)——获取插入数据后,自动生成的id值
    JavaWeb学习记录(二十七)——定时发送邮件ServletContextListener监听实现
    JavaWeb学习记录(二十三)——文件上传与下载
  • 原文地址:https://www.cnblogs.com/liqiantu/p/5831487.html
Copyright © 2011-2022 走看看