php数据类型
php数据类型
2016年5月29日
15:44
数据类型:具有相同特性的一类数据的统称。包括字符串、整型、浮点型、布尔型等。
标量数据类型:boolean 布尔型 integer 整型 float:浮点型 string: 字符串
复合数据类型:array 数组 object 对象 resource 资源 NULL 空型
1、数组: 一个能在单个变量中存储多个值的特殊变量。分为数值数组、关联数组和多维数组。其中多维数组:
创建数组的方式:1直接赋值;2使用array()函数;3使用range()函数创建一个指定元素数值的数组。
Range()建立一个包含指定范围元素的数组
Array range(mixed low,mixed high,[,number step])step被称为元素之间的步进值。
数组索引数组
$city = array("A","B","C","D");
关联数组
$citys = array('beijing'=>"北京",'shanghai'=>"上海");
Echo $citys["beijing"]
PHP除了支持数字索引外,还支持字符串索引,即关联数组。
表达式:程序中任何有值的部分。PHP中几乎所有内容都是表达式。
php中的每条语句都要以";"来结束。
exit://exit语句将使程序立即中断,不再向下执行。
遍历数组:
$cars = array("V","B","T");
$arrlength = count($cars);//其中count()是计数函数
For($x=0; $x<$arrlength;$x++)
{
Echo $cars[$x];
Echo"<br>";
}
2、遍历关联数组。遍历打印关联数组中的所有值 使用foreach循环
<?Php
$age = array("peter"=>"35","Joe"=>"43")
Foreach($age as $x=>$x_value)
{echo "key=".$xx" ",value=".$x_value;
}
List()和each遍历数组。
list()函数里面每项定义数组中对应的项。
each()函数返回的是当前键名/值和对接近下一个元素的内部指示器。如果确定要访问的时哪一个元素,可以直接引用 $item[key]或$item[value].
3、php数组排序
sort():对数组进行升序排序。
rsort():对数组进行降序排序。
asort():根据关联数组的值,对数组进行升序排序。
rsort():根据关联数组的键,对数组进行升序排序。
<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);
?>
来自 <http://www.runoob.com/php/php-arrays-sort.html>
管理数组:对数组元素进行增加以及删除、定位数组元素以及确定唯一性。
1、增加和删除数组元素。Array_push()函数。
$MyFriends = array("aa","aa");
Array_push($MyFriends,"b")
Array_pop()函数。用于返回target_array的最后一个元素。并在结束后重置数组的指针。
还有array_shift()、array_unshift() 。在数组前面进行一些操作。
Unset():删除数组中的元素 unset($array[1]);删除数组中某个元素。
自定义函数删除 array_splice($array,$offset[指定要删除的元素],$length[指定要删除的长度])
Array_pad()函数的示例:
修改target数组,将其大小增加到length指定的长度。
定位数组元素。指用户通过一些函数有效筛选数组中的数据.
In_array()函数。用于检查数组中是否存在某个值。如果找到则返回true,否则返回false。
$ages = array(1,2,3,4,30);
If(in_array("4",$ages).
If(in_array(30,$ages,1); 最后一个是判定数据类型是否匹配。
Echo ("类型相同")。
Array_keys(): 该函数用于返回数组中所有的键名,也就是返回由一个数组target_array中所有键组成的数组。
Array_keys($array,"value");
随机排序: shuffle()函数会为数组中 的元素赋予新的键名,并删除原来的键名而不仅是重新排序。
Bool shuffle(array,&array.)
反向排序:array_reverse():接受array数组作为输入并返回一个元素。
自定义排序:usort():自定义排序
Bool usort(array &array,callback cmp_function);
usort会为array中的元素赋予新的键名,这表示将删除原来的键而不仅是重新排序。
Array_rand():mixed array_rand(array input[,int num_req]) array_rand()接受input作为输入数组和一个可选的num_req参数,该参数指定程序员想要取出多个元素。
联合数组: 将两个数组联合起来,其中一个数组的值作为元素的键名,另一个数组的值作为元素的值。
Array array-combine(array keys,array values) 使用来自keys数组的值作为键名。来自value数组的值作为相应的值。
合并数组:1、使用+号进行合并;
2、使用array_merge()函数进行合并;
3、使用array_merge_recursive()函数进行合并。
对两个或多个数组合并时,键名和值都保持原样,是原封不动进行合并的。如果两个数组中的键名一样,以第一个数组中的值为主第二个数组中的值会自动忽略。
array_merge():用于合并一个或多个数组,一个数组中的值附加在一个数组的后面,并返回一个新的数组。
拆分数组
Array array_slice():返回根据offset和length参数所指定的array数组中的一段序列。
Array array_slice(array array ,int offset[,int length[,bool preserve keys]]).preserve默认重置数组的键,可以通过将其值设置为true改变其行为。如果offset为负,则序列将从array中距离末端这么远的地方开始。
替换数组
array_splice()函数,可以把数组中的一部分去掉并用其他值代替。
Array_splicearray array_splice(array &input,int offset,[int length,[arrat replacement]])
判断数组的类型:判断数组是否属于关联数组或数字索引数组,is_array()该函数可以检测变量是否为数组,is_int()函数判断元素的键名是否为整型。从而判断数组是关联数组还是数字索引数组。
Count()函数能够获取所有的键名。Count():— 计算数组中的单元数目或对象中的属性个数
查找键是否存在:array_key_exists() :按照数组键名进行查找
bool array_key_exists(mixed key,array search) key为指定的键名。
查找值是否存在: in_array():函数可以检查数组中是否存在某个值。
Bool in_array(mixed neddle,array haystack[,bool strict])当strict的值为true的时候,表示in_array()函数还会检查needle的类型是否和haystack相同。
去除重复元素值
当数组中出现重复的内容时,可以利用array_unique函数清理重复的值。
Array array_unique( array array):首先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有的键名。当字符串的元素内容一样时,第一个元素将会被保留。
数组键名和值调换:
Array_flip()函数:将使数组的键名与其值调换,即键名变成值,而值变成键名。
这个数组可以是数字索引数组,也可以是关联数组。
二维数组:二维数组本质上是以数组作为数组元素的数组。 A[m][n]是一个m行,n列的二维数组。
赋值方式:1 通过直接赋值 array[1][1]=""; array[1][2]="";