最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • PHP快速入门第二讲:数据类型

    正文概述 转载于:掘金(林中小鸟)   2020-12-20   377

    1、字符串(string)

    字符串是php比较常见的数据类型,字符串数据类型一般是这样的。

    # 字符串
    $str = "hellow word";
    $str = "{}()*&^%$#$@!@!())&&";
    # 字符串进行拼接
    $str = "hellow word".'我爱你一生一世。';
    # 字数转化成为字符串
    $str = "5211314";
    # 使用函数转化
    $str = (string)5211314;
    $str = strval(5211314);
    $str = 5211314 .'';
    # 字符串连接其他数据类型,还是字符串
    $str = 5211314 .'我爱你一生一世。';
    $str = '我爱你一生一世 = '. 5211314;
    

    字符串的特性:

    引号开头和结尾,字符串拼接常用“.”进行连接。字符串强制转化使用(string),或者用“.”连接一个字符串。字符串和其他内容进行拼接,还是字符串。

    字符串的操作函数:

    字符串的操作函数很多,PHP有专门的文档进行说明介绍。我们需要记住一些字符串的基本操作函数:

    后端对字符串的基本操作:

    • 4、替换。字符替换也很常用。例:一段话中,有个错别字。可以使用字符替换。

    字符串格式有一个需要注意的点。字符串是有编码的。字符编码有时会对程序有很大的影响。所以我们需要注意自己的文件编码。注意在对接数据的时候,接收到的字符串都是什么样子的,是否含有比较特别的(颜文字之类的,具体编码问题可以百度搜索一下)字符


    2、整数(integer)

    整数包括正整数和负整数,还有零。整数类型对应着我们现实中的整数。

    $int = 100;
    #整形计算
    $int = 100+5;
    #自增的一种,写法。
    $int += 5;
    #对应于我们生活中的简单计算
    $int = 100*50 + (100 + 1) - 20/4 + (-60);
    #强制转化
    $int = (int)'5211314=我爱你一生一世';//输出   5211314
    $int = (int)'我爱你一生一世 = 5211314';//输出   0
    #布尔型转化
    $int = (int)true; //输出1
    $int = (int)false; //输出0
    

    整形比较简单。对应我们生活中的数字。很很好理解。整形数据和游标(索引)相关性很大。数据处理中,我们需要一个游标(索引)。其实很好理解就是使用数字给代码程序,数据进行定位。定位时我们经常和整形打交道。

    注意:当数据被强制转化为int类型时,是从字符串最左边开始取到第一个不是数字的位置。所以非数字开头的字符串,转化成int后输出0


    3、浮点数(float)

    浮点型大家可以理解为现实生活中的小数。含有小数点的数字都叫浮点型。

    $int = 3.1415926;

    浮点型数据计算会出现intval(0.58 * 100) 输出 57 这样的情况 这是由于计算机使用2进制。这样使你看似有穷的小数, 在计算机的二进制表示里却是无穷的。


    4、布尔型(boolean)

    布尔型是判断类型。显示为 true ,false。大家可以理解为 0 或者 1。

    if('布尔型'){
      #布尔型常用于判断
      //判断正确执行
      $boolean =  true;
      #输出
      print($boolean);
    }else{
      //判断错误执行
      $boolean =  false;
      #输出
      var_dump($boolean);
    }
    

    5、数组(array)

    PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。

    $array = [];
    $array = array(1,2,3,4);
    $array = array(array(),array(1,2,3,4));
    $array = [[1,2,3,4],[4,3,1,4,2,5]];
    

    数组是一个有序映射。PHP数组可以有很多种解释但是最准确的还是映射。注意:1、PHP数组和JAVA有些不同。JAVA的数组必须有长度的,而PHP则不需要。2、我们开发中经常有人将JAVA中的MAP,SET,LISTS(集合)同PHP做数组比较。这种做法是错误的,是不可以进行对比的,虽然他们都是基于映射,但是这种对比没有意义。3、数组也是跨平台对接数据转换的中的一种重要数据类型。

    注意:

     #PHP和安卓对接经常会遇到这种问题。
     function return_lists(){
       return ['data'=>
                   [
                     '张三',
                     '李四',
                     '王二',
                     '麻子'
                   ]
       		];
     }
    
     function return_map(){
       return ['data'=>
                   [
                    '1'=>'张三',
                    '2'=>'李四',
                    '3'=>'王二',
                    '4'=>'麻子'
                   ]
              ];
     }
    

    数组经过json转化返回给移动端,移动端拿到的数据是不同的。虽然在PHP中我们都是通过数组转化的数据结果,但是移动端特别是安卓端,他对return_lists的返回结果data 是个集合。而return_map中返回的data是个MAP。


    6、对象(object)

    PHP是面向对象编程。对象是我们抽象成的一种事物。我们面对的所有东西都是对象。

    对象的主要三个特性:

    class foo
    {
      /* 成员变量 */
      var $url;
      var $title = "Doing foo.";
      
      /* 成员函数 */
      function do_foo()
      {
            echo $title; 
       }
    }
    
    $obj = (object) array('1' => 'foo');
    var_dump(isset($obj->{'1'})); // PHP 7.2.0 后输出 'bool(true)',之前版本会输出 'bool(false)' 
    var_dump(key($obj)); // PHP 7.2.0 后输出 'string(1) "1"',之前版本输出  'int(1)' 
    
    $obj = (object) 'ciao';
    echo $obj->scalar;  // outputs 'ciao'
    
    $bar = new foo;
    $bar->do_foo();
    

    对象是面向对象编程的核心,我们需要有足够的抽象能力去指导我们去进行编程。当然抽象能力大家都是与生俱来的。只是做到的程度不同。多加练习,我们就能有很好的抽象思维了。


    7、NULL

    NULL意思是空。就是什么都没有。可以转化为布尔型的false,但是他不是严格的false 使用完全比较“===” 进行比较,结果为false.

    PHP 文件系统操作是基于 C 语言的函数的,所以它可能会以您意想不到的方式处理 Null 字符。 Null字符在 C 语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见 Null 字符为止。

    #比较
    var_dump(NULL === false);//输出false
    var_dump(NULL == false);//输出true
    

    任何用于操作文件系统的字符串(译注:特别是程序外部输入的字符串)都必须经过适当的检查。

    数据类型基本讲完了。小鸟最近在做微信公众号砍价功能,关注微信公众号 淘小喵 查看开发进度


    起源地下载网 » PHP快速入门第二讲:数据类型

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元