php需要注意的细节

哈哈哈,大神绕过,菜鸟跟进来,整理给自己看的小笔记。

  1. 当双引号中包含变量时,变量会与双引号中的内容连接在一起;

    当单引号中包含变量时,变量会被当做字符串输出。

  2. 字符串很长怎么办?

    • <?php
      $string1 = <<<GOD
      我有一只小毛驴,我从来也不骑。
      有一天我心血来潮,骑着去赶集。
      我手里拿着小皮鞭,我心里正得意。
      不知怎么哗啦啦啦啦,我摔了一身泥.
      GOD;

      echo $string1;
      ?>

  3. 读文件(最怕这个了,先记录一个小例子吧)

    <?php
    //首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
    $file_handle = fopen(“/data/webroot/resource/php/f.txt”,”r”);
    if ($file_handle){

    //接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字
    while (!feof($file_handle)) { //判断是否到最后一行
        $line = fgets($file_handle); //读取一行文本
        echo $line; //输出一行文本
        echo "<br />"; //换行
    }
    

    }
    fclose($file_handle);//关闭文件
    ?>

  4. <?php
    define(“PI”,3.14);
    $r=3;
    echo “面积为:”.(PI$r$r).”
    “;
    echo “周长为:”.(2PI$r).”
    “;
    ?>

    注意加.

  5. 字符串连接运算符是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:

    (1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。

    (2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

  6. 将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

    • $conn = @mysql_connect(“localhost”,”username”,”password”);
      echo “出错了,错误原因是:”.$php_errormsg;
  7. foreach(今天才算完全搞懂他的套路)

    第一种:$students = array(
    ‘2010’=>’令狐冲’,
    ‘2011’=>’林平之’,
    ‘2012’=>’曲洋’,
    ‘2013’=>’任盈盈’,
    ‘2014’=>’向问天’,
    ‘2015’=>’任我行’,
    ‘2016’=>’冲虚’,
    ‘2017’=>’方正’,
    ‘2018’=>’岳不群’,
    ‘2019’=>’宁中则’,
    );//10个学生的学号和姓名,用数组存储

    //使用循环结构遍历数组,获取学号和姓名
    foreach($students as $v)
    {

    echo $v;//输出(打印)姓名
    echo "<br />";
    

    }
    ?>

    只打印令狐冲,任盈盈…..

    第二种:

    <?php
    $students = array(
    20=>’令狐冲’,
    ‘2011’=>’林平之’,
    ‘2012’=>’曲洋’,
    ‘2013’=>’任盈盈’,
    ‘2014’=>’向问天’,
    ‘2015’=>’任我行’,
    ‘2016’=>’冲虚’,
    ‘2017’=>’方正’,
    ‘2018’=>’岳不群’,
    ‘2019’=>’宁中则’,
    );//10个学生的学号和姓名,用数组存储

    //使用循环结构遍历数组,获取学号和姓名
    foreach(\$students as \$key => $v)
    {

    echo $key.":".$v;//输出(打印)学号:姓名
    echo "<br />";
    

    }
    ?>

    打印键值和值20:令狐冲…..

  8. 数组:

    • 创建一个索引数组,索引数组的键是“0”,值是“苹果”

      $fruit = array(“苹果”);

      $arr[0] = ‘苹果’;

      $arr = array(‘苹果’);

    • //创建一个关联数组,关联数组的键“orange”,值是“橘子”
      $fruit = array(

      'orange' =>"橘子"
      );
      print_r($fruit);
      

      ?>

    • <?php
      //请创建一个数组变量arr,并尝试创建一个关联数组,键是apple,值是苹果
      $arr[‘apple’]=’苹果’;
      $arr = array(‘apple’=>’苹果’);
      if( isset($arr) ) {print_r($arr);}
      ?>

    • $str = ‘苹果很好吃。’;
      //请将变量$str中的苹果替换成香蕉
      \$str = str_replace(‘苹果’,’香蕉’, $str);
      echo $str;

    • function func() {

      1
      echo 'exists';

      }
      $name = ‘func’;
      if (function_exists($name)) { //判断函数是否存在

      1
      $name();

      }

  9. 构造函数和解析函数

    <?php
    class Car {

    //增加构造函数与析构函数
    function __construct(){
        print "构造函数被调用\n";
    }
    function __destruct(){
        print "析构函数被调用\n";
    }
    

    }
    $car = new Car();

  10. 继承

    • 定义继承于Car的Truck类
      class Truck extends Car{

      public function speedUp(){

      $this->speed = parent::speedUp()+50;
      

      }
      }

  11. 序列化:

    \$str = serialize($a); //对象序列化成字符串
    echo $str.’
    ‘;
    \$c = unserialize($str); //反序列化为对象
    var_dump($c);

  12. 去除字符串首尾:

    <?php
    //
    $str=” 左侧空格要去掉”;
    echo ltrim($str);
    ?>

  13. 截取字符串
    $str=’hello,world’;
    echo substr($str,6,5);

  14. cookie

    • Cookie是存储在客户端浏览器中的数据

    一般情况下,Cookie通过HTTP headers从服务端返回到客户端。多数web程序都支持Cookie的操作,因为Cookie是存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制。

    • $value = time();
      //在这里设置一个名为test的Cookie
      setcookie(“test”,$value);
      if (isset($_COOKIE[‘test’])) {

      1
      echo 'success';

      }

* setcookie('test', time());

  //在这里试着删除test的cookie值
  setcookie('test','',time()-1);

  var_dump($_COOKIE);

  ​
  1. session

    session_start();
    $_SESSION[‘name’] = ‘jobs’;
    echo $_SESSION[‘name’];
    echo “
    “;
    echo “session_id”.session_id();