PHP第二节

变量的定义

1.变量已 $ 开头后面跟着变量名;
2.变量名只能以字母、数字、下划线,组成,不能以数字开头;
3.变量名区分大小写;
4.PHP与javascript 一样是弱类型语言,不需要先声明变量名的数据类型。

<?
    $a=10;
    $color="blue";
    $c="你好";
?>

传值的变量

<?
    $c="你好";
    $a="c";
    $b="a";
    echo $$$b;   //显示 你好
    echo gettype($$$b); //来判读$$$b为什么数据类型
----------------------------------------------------------------------------
      $a=10;
      $b=$a;
      $a=5;
      echo $b; //显示 $b为10;只是传值;

?>

传址的变量

<?
    //如果要传址需要加  &   符号
    $a=10;
    $b=&$a;
    $a=5;
   echo $b;//显示$b为5;$a改变$b也会随着改变;

?>

引号

<?
    $a="hello";
    $b="faaeadas{$a}";   //双引号可以解析$a;
    $c='dadaadasaf{$a}';  //单引号不可以解析$a;只是用来显示作用;
    echo $b;
    echo "<hr>";
    echo $c;     
?>

字符串的拼接用, “ .”来拼接。

<?
    $a="hellow";
    $b="word";
    echo  $a.$b;  //显示为hellowword;
    echo $a." \"你好\" ".$b; //显示为hellow "你好" word;\" 为转义字符 为双引号;
  ----------------------------------------------------------------------------------------------------------
    $a="你好";
    $c='faasfadfafjjjee';
    $c= 'fdada"'.$a.'"fldddd';  //显示fdada"你好"fldddd
    $c='fdafasf\''.$a.'\'flads';  //显示 fdafasf'你好'flads  
    echo $c;
  ----------------------------------------------------------------------------------------------------------
  $a="您好";
  $b="adadd{$a}asda"; //{}拼接
  


?>

字符串转义

\n 换行 \r 回车
\\ 反斜杠 \t TAB键
$ $美元符号 " 双引号

自动类型转换

<?
    $a=5;
    $b=3;
    echo $a+$b;  //显示为8;
    // 查看数据类型
    echo  gettype($a+$b);  //显示为integer 
    //调试用函数
    // die(); 可以阻止后面的代码执行
    //  exit;  调试用可以阻止后面代码的执行
   // die("我是die出来的东西");
  //eval(); 用来解析变量
?>

定界符

定义长的字符串;结尾的时候一定要顶头写前后不能有空格AAA可以随便写不区分大小写字母开头就行,不能以数字开头。

<?
  $str=<<<AAA 
  adasasdasfdsfsdfewrer
AAA;
   echo #str;
?>

数据类型转换

<?
    $a="56";
    $b=(int)$a;
    echo gettype($b); //显示integer
?>

判断值是否为空

empty (推荐使用) 判断值是否为空,为空则返回true;
   isset(不推荐使用) 判断值是否为空,为空则返回true;

<?
         $a="wqeqe";
         if(!empty($a)){
               echo "不为空";    //显示不为空
          }else{
               echo "空"; 
          };
------------------------------------------------------------------------------------------
      $a= "";
     if(isset($a)){
         echo "不为空";      //显示不为空
     }else{
         echo "空";   
     };
------------------------------------------------------------------------------------------
    $a=null;
     if(!empty($a)){
        echo "不为空";
    }else{
        echo "空";         //显示为空
    };
------------------------------------------------------------------------------------------
   
?>

查看数据类型

print_r();     直接输出用于显示;
var_dump()   不仅可以显示输出还可以显示 数据类型
is_string()   判断是否是字符串 返回的是布尔值
is_object()    判断是否是 对象
is_int()      判断是否是整数
is_array()   判断是否是数组
is_float()    判断是否是浮点数
is_scalar ()    检测变量是否是一个标量;标量变量是指那些包含了 integerfloatstringboolean的变量,而 arrayobjectresource 则不是标量。
is_null()       判断一个变量是否为空;


gettype()返回的数据类型共有8个值:string ---integer ---float---boolean---array---object---null---unknow;


is_type();查看是否是某个类型的 是返回true 否则返回false;

创建数组

<?
    1.关联数组
    方式一 :
    $arr["姓名"]="李四";
    $arr["年龄"]="18";
     $arr["身高"]="178cm";
    print_r($arr); // 显示  Array ( [姓名] => 李四 [年龄] => 18 [身高] => 178cm ) 姓名----李四
    方式二:
    $arr=array("姓名"=>"张灿","年龄"=>"18","身高"=>"178cm"); 
    添加数组
    $arr["adad"]="eeff";
     删除数组
    unset($arr[0]); 
------------------------------------------------------------------------------------------
  2.索引数组
    方式一:
    $arr[]="李四";
    $arr[]="18";
    $arr[]="178cm";

    方式二:
  $arr=["李四","26","180cm"];
    
    方式三:  只能定义数字的数组
    $arr=range(1,100);
    -----------------------------------------------------------------------------------------------------
        $arr["广东"]=array("广州","深圳","福田");
        $arr["上海"]="魔都";
        $arr["武汉"]="火炉";
        foreach($arr as $k=>$v){
              if($k=="广东"){
                      foreach($v as  $value){
                                 echo $k."----|".$value."<br>";
                        };    
            }else{
              echo    $k."----|".$v."<br>";
                 };
};
显示为       广东-----广州
            广东-----深圳
            广东-----福田
            上海----魔都
            武汉----火炉
?>

类的方法调用

  class Test(){
         function hobby(){
                  echo "我是hobby的方法";
          };       
   };
  $newtest=new Test();
   $newtest->hobby();  //显示 我是hobby方法

获取当前时间

echo time();
echo date("Y-m-d H:i:s",time());
在代码要先设置好时区

获取资源类型

<?
    //获取文件
    $handle= fopen("1.text","r");
    //fopen()函数打开文件或者 URL。  r  为只读方式打开 r+ 读写方式打开
    //读取文件
    $res=fread($handle,filesize("1.text"));    filesize("1.text")为读取文件长度
    fread() 函数读取文件
    
    1.引入文件
    include"1.txt"; 
    include_once "1.txt";
    require  "1.txt";
    require_once "1.txt";
    //  带once只能引入一次  不带once可以多次引入 
  include 和require 区别 
  //如果出现报错 require会阻止程序执行 ,但是include不会阻止程序执行
  //  用途: 避免重复劳动 提高复用性

    print_r($_SERVER);
    $_SERVER 是一个服务器端的变量数组,提供许多关于服务器及客户端请求的变量值

     @define("PI","4.15");    @用于忽略错误警告 

?>

cookie      运行客服端 离线储存
localstorage       离线储存 没有过期时间,运行在客服端
sessionstorsge       流浪器关闭会消失 运行在客户端
session       浏览器关闭会消失 运行在服务端 安全性高 任何页面都可以获取到状态

   setcookie("username","张三",time()+3600);  
time()+3600用来设置过期时间 ,不设置过期时间默认就是浏览器会话结束时过期

凡是与session有关的,之前必须调用函数session_start();为session赋值很简单
session_start(); 
$_SESSION['username']="张三";
echo $_SESSION["username"];//显示张三

声明全局变量

<?
   用global 来声明全局变量      存放到了global里边
   function test(){
   global $a;
     $a=10;
     $b=10000;
};
test();
echo $a;
print_r($_BLOBALS);   

$GLOBALS — 引用全局作用域中可用的全部变量。
一个包含了全部变量的全局组合数组。变量的名字就是数组的键
$GLOBALS,   $_SERVER, $_GET,   $_POST, $_FILES,$_COOKIE,$_SESSION,$_REQUEST,$_ENV  都属于超全局变量;
?>

定义常量

相同常量只能被定义一次,默认被定义的常量区分大小写 ,第三个参数默认为false 区分大小写,设置为true 不区分大小写;

<?
    define("PI","3.14159265358978323846",false);  
?>

魔术常量

 <?
      echo __LINE__ ;//获取当前行数
      echo __FILE__;  //当前执行文件的PHP路径;
      function rewe(){
          echo __FUNCTION__;//获取函数名称
};
rewe();

      类名不能被重新定义,不支持重载
      class Red{
        function hobby(){
            echo "<br>";
            echo __CLASS__;  //类名
            echo "<br>";
            echo __METHOD__; // 类的方法名
        }
    };
          $newRed=new Red();
          $newRed->hobby();
          
        echo  PHP_OS ; //当前的系统
        echo PHP_VERSION ; //PHP当前的版本号


?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,091评论 4 97
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,788评论 1 10
  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,285评论 1 27
  • php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语言,...
    dptms阅读 1,912评论 1 15
  • 今天我想说的是如何封装iOS原生的网络请求 , 本文是基于 NSURLConnection 网络请求的封装 , 实...
    小苗晓雪阅读 3,125评论 5 3