php学习笔记

**

php学习笔记

**
php八大数据类型加粗样式

  • 标量类型 :布尔型、整形、浮点型、字符串

  • 复合类型:数组、对象

  • 特殊类型:资源、null
    一、布尔型、整形、浮点型
    布尔类型分为true、false 不区分大小写。
    整形和浮点型:
    $a = 100 //整形

    $b = 1.3 //浮点型
    二、字符串型相关方法

<?php 
    //计算字符串长度
    $str  = '12345';
    echo strlen($str);
    //"<br/>" 换行
    //转换为大写
    $str2 = "hello world";
    echo "<br/>" ,strtoupper($str2);

    //转小写
    echo "<br/>",strtolower($str2);
    echo "<br/>",ucfirst($str2);//第一个字符转大写
    echo "<br/>",ucwords($str2);//每个单词第一个字符转大写
    echo "<br/>",strpos($str2,'e',0);//查找字符
    //utf-8编码中中文占3字节,GB2312中中文占2字节
    echo "<br/>",substr($str2,1,8);//截取字符串,不可用于中文
    echo "<br/>",substr("你好啊,hjkhj,一起学习",1,8);//截取字符串,不可用于中文
    echo "<br/>",substr($str2,1,-3);//截取字符串
    echo "<br/>",mb_substr("你好啊,一起学习php",1,8);//截取字符串,按字符个数截取,可用于中文
    echo "<br/>",mb_strcut("你好啊,一起学习php",1,8);//截取字符串,按字节个数截取,可用于中文
    $str3 = '12345@343';
    echo "<br/>",strstr($str3,'@');//从标识处开始显示剩余字符,如果找不到就返回false
    echo "<br/>",strtr($str3,'23',"cbh");//按一对一的方式把字符串的进行转换
    $str4 = "1,2,3,4,5";
    $srr = explode(",",$str4);//分割字符串,形成数组
    echo "<br/>",var_dump($srr);
    $srr = implode("=",$srr);//将数组以标识转换为字符串
    echo "<br/>",var_dump($srr);
    $srr = explode(",",$str4);
    echo "<br/>",in_array('2',$srr);//验证某个字符串是否在数组中,在返回true,不在返回false
    echo "<br/>",trim('  2 222   ');//去除左右空格
    echo "<br/>",str_replace('123','hlw',$str3);//替换字符
    echo "<br/>",strrev($str3);//字符反转
    $str5 = "abcd'";
    echo "<br/>",addslashes($str5);//在插入数据库前将特殊字符转义
    echo "<br/>",stripslashes($str5);//在读取数据库后将特殊字符转义
    $str6 = "<script >alert('123')</script>";
    echo "<br/>",htmlspecialchars($str6);//将字符串原样输出,不执行
    echo "<br/>",htmlspecialchars_decode($str6);//将字符串执行


?>

三、数组类型
1.数组创建方式

 //数组
    //纯索引下标,从0开始
    $arr= array(1,2,3,'4');
    print_r($arr);
 
    //键名=>键值对方式
    $arr1 = array("a"=>1,"b"=>2);
    echo "<br/>";
    print_r($arr1);

    //键名=>键值对和索引下标 混合 数组的引用,引用索引下标 $arr[0],
    $arr2 =  array("a"=>1,"b"=>2,3,4);
    echo "<br/>" ;print_r($arr2);
    echo "<br/>" ;print_r($arr2['1']);
    echo "<br/>" ;print_r($arr2['a']);

2.数组的常用方法

 //空数组赋值
    $arr3 = array();
    $arr3[] = 11;
    $arr3[] = 2;//下标为1
    $arr3["q"] = 4;
    echo "<br/>" ;print_r($arr3);
    $arr3[1] = 12;//将下标为1的数组重新赋值为12
    echo "<br/>" ;print_r($arr3);
    echo "<br/>" ,count($arr3);//计算数组长度

    $arr4 = array(1,2,3);//插入数据
    
    array_push($arr4,4);//从后插入
    echo "<br/>" ;print_r($arr4);
    $arr4[] = 5;
    echo "<br/>" ;print_r($arr4);
    array_unshift($arr4,9);//从前插入
    echo "<br/>" ;print_r($arr4);

    //array_slice($arr, 开始截取下标,截取个数(可以不写) )截取数组,从后开始截取
    $arr5 = array(1,2,3,4,5,6,7,8,9);
    $arr5_1= array_slice($arr5,3);
    echo "<br/>" ;print_r($arr5);
    echo "<br/>" ;print_r($arr5_1);

    //给指定的数组元素值都加1,然后形成一个新数组
    $arr6 = array(1,2,3,4,5);
    $arr6_1 = array();
    foreach($arr6 as $k => $v){//$k键名 $v键值  foreach可以对数组进行循环
        echo "<br/>" ;
        echo $v,"<br/>";
        $arr6_1[] = $v+1;
    }
    echo "<br/>" ;print_r($arr6_1);

    echo "<br/>";
    //extract() 键名作为变量名,键值变为变量的值
    $arr7  = array("a"=>1, "b"=>2, "c"=>3);
    extract($arr7);
    echo $c;

    echo "<br/>";
    //compact() 变量名作为键名,变量的值变为键值
    $a = 1;
    $b = 2;
    $c = 3;
    $arr7_1 = compact("a", "b", "c");
    echo "<br/>" ;print_r($arr7_1);

    echo "<br/>";
    //explode implode//数组与字符串转换
    $str = "小明-小张-小李";
    $arr8 = explode("-", $str);
    echo "<br/>";
    print_r($arr8);
    $str2 = implode("#", $arr8);
    echo "<br/>";
    print_r($str2);

    echo "<br/>";
    //sort() 数组按值的正向排序,即从小到大
    $a = array(6,2,4);
    print_r($a);
    echo "<br/>";
    sort($a);
    print_r($a);
    echo "<br/>";
    //rsort() 数组按值的反向排序,即从大到小
    rsort($a);
    print_r($a);
    echo "<br/>";
    //asort() 数组按值的正向排序,即从小到大,保持下标与值的对应关系
    asort($a);
    print_r($a);
    echo "<br/>";
    //arsort() 数组按值的正向排序,即从小到大,保持下标与值的对应关系
    arsort($a);
    print_r($a);
    echo "<br/>";
    
    //数组最大值,最小值
    $a1 = array(1,22,3,4);
    echo max($a1);
    echo "<br/>";
    echo min($a1);
    echo "<br/>";

    //数组求和
    $a3 = array("foo"=>"bar", "ab"=>1,13=>3.14);
    echo array_sum($a3);
    echo "<br/>";

    //array_merge数组的合并,当键名(字符串型)相同时后者覆盖前者
    $a4 = array("foo"=>"bar","s"=>3,5=>6);
    $a4_1 = array("s"=>1,5=>12);
    $a4_2=array_merge($a4,$a4_1);
    print_r($a4_2);
    echo "<br/>";
    // +  数组的合并,键名相同时取前者
    $a4_3 = array("foo"=>"bar","s"=>3,5=>6);
    $a4_4 = array("s"=>1,5=>12);
    print_r($a4_3+$a4_4);
    echo "<br/>";

    //array_diff 数组的差集,显示第一个数组在其他数组中没有的值
    $a5_1 = array("foo"=>"bar","s"=>12,5=>6,15=>3.43);
    $a5_2 = array("s"=>12,5=>11,"foo"=>"sq",15=>111);
    $a5 = array_diff($a5_1,$a5_2);
    print_r($a5);
    echo "<br/>";
    //array_intersect 数组的交集
    $a5_1 = array("foo"=>"bar","s"=>12,5=>6,15=>3.43);
    $a5_2 = array("s"=>12,5=>11,"foo"=>"sq",15=>111);
    $a5 = array_intersect($a5_1,$a5_2);
    print_r($a5);
    echo "<br/>";

    //array_unqiue数组去重
    $a6_1=array(1,2,3,4,3,4);
    $a6_2=array_unique($a6_1);
    print_r($a6_2);
    echo "<br/>";
    print_r($a6_1);
    echo "<br/>";


    //array_rand() 数组的随机函数,随机输出下标
    $a7 = array("小张","小李","小明");
    $a7_1 = array_rand($a7);
    print_r($a7_1);//输出下标
    print_r($a7[$a7_1]);//获取相应的值
    echo "<br/>";
    $a7_1 = array_rand($a7,2);
    print_r($a7_1[0]);//输出下标
    print_r($a7_1[1]);//输出下标
    print_r($a7[$a7_1[0]]);//获取相应的值
    print_r($a7[$a7_1[0]]);//获取相应的值
    echo "<br/>";

    //Shuffle()将数组的顺序打乱
    Shuffle($a7);
    print_r($a7);
    echo $a7[0];//取一个
    echo $a7[1];//取两个
    
    echo "<br/>";

四、对象
创建一个对象

//对象
    //声明一个类 w
    class w{

    }
    $a8  = new w();
    echo gettype($a8);//查看数据类型

五、资源和null

<?php
    //资源
    $file = fopen("text.txt","w");//创建了一个可写的文件
    echo gettype($file);
    echo "<br/>";
    
		//null
    // 被赋值为null
    // 未被赋值
    //被删除\初始化(unset)

    $a = 1;
    $a1 = null;
    echo gettype($a);
    unset($a);
    echo gettype($a);
    echo gettype($a1);
    echo gettype($b);

?>

本笔来源于观看课程。“全新PHP课程:PHP在线教程从新手到高手-PHP毕业设计,PHP入门到PHP高级教程,PHP构架师,MySQL、PHP开发框架thinkphp、PHP项目实战-哔哩哔哩】 https://b23.tv/LlSoBZS”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值