1、字符串(string)

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

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

字符串的特性:

集合phpPHP快速入家世二讲数据类型 AJAX

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

字符串的操作函数:

字符串的操作函数很多,PHP有专门的文档进行解释先容。
我们须要记住一些字符串的基本操作函数:1、strlen() 函数返回字符串的长度,以字符计。
2、str_word_count() 函数对字符串中的单词进行计数。
3、strrev() 函数反转字符串。
4、strpos() 函数用于检索字符串内指定的字符或文本。

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

1、拼接。
字符串的合并。
合并字符串用于展示,获取我们想要的结果。

2、检索。
在字符串中查找特点字符,或者字符串。
常用函数:strpos(),strstr(),substr(),stripos()...等。

3、截取。
从字符串中截取特定长度的字符。
strpos($string, $search[, $offset]):在指定字符串中查找目标字符串第一次涌现的位置

stripos($string, $search[, $offset]):忽略大小写的去查找

strrpos($string, $search[, $offset]):在指定字符串中查找目标字符串末了一次涌现的位置

strripos($string, $search[, $offset]):忽略大小写的去查找末了一次涌现的位置

strstr|strchr($string, $search[, $before_needle]):查找字符串的首次涌现,返回的是字符串

stristr($string, $search[, $before_needle]):忽略大小写的去查找

strrchr($string, $search):查找指定字符在字符串中的末了一次涌现

substr($string, $start[, $length]):截取字符串

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

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

该函数返回一个字符串或者数组
该字符串或数组是将subject中全部的search都被replace更换之后的结果。

1、$search,要更换的字符串,或数组

2、$replace,被用来更换的字符串或数组

3、$subject,被查询的字符串或数组

4、$count,可选,如果被指定,将为设置为更换的次数

5、返回值:该函数返回更换后的数组或者字符串(新天生的)

字符串格式有一个须要把稳的点。
字符串是有编码的。
字符编码有时会对程序有很大的影响。
以是我们须要把稳自己的文件编码。
把稳在对接数据的时候,吸收到的字符串都是什么样子的,是否含有比较特殊的(颜笔墨之类的,详细编码问题可以百度搜索一下)字符

2、整数(integer)

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

$int = 100;#整形打算$int = 100+5;#自增的一种,写法。
$int += 5;#对应于我们生活中的大略打算$int = 10050 + (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是面向工具编程。
工具是我们抽象成的一种事物。
我们面对的所有东西都是工具。

工具的紧张三个特性:

工具的行为:可以对 工具施加那些操作,开灯,关灯便是行为。

工具的形态:当施加那些方法是工具如何相应,颜色,尺寸,外型。

工具的表示:工具的表示就相称于身份证,详细区分在相同的行为与状态下有什么不同。

在代码中我们一样平常用类来代表一个工具。
(工具关键词object)

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);//输出falsevar_dump(NULL == false);//输出true

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