php基础小知识

echo 输出无返回值,echoPrint快,因为它没有返回值。

Print 输出有返回值,返回值为整数。

Printf 输出有返回值,返回值为字符串的长度。

Sprintf 有参数,将数据保存在内存中,需要echo将字符串输出。

使用$sum,即 使用$后跟标识符名称来定义一个变量,php是弱类型语言,变量只有在赋值后才能确定它的类型。不像其他语言,变量在使用之前必须声明它的类型。

php有隐型类型转换,即$sum=1;$a=”hello”,$sum=$a;此时变量sum的类型就是字符串类型。也有强制类型转换,也就是显示类型转换,即$sum=0;(string)$sum;sum强制转换为字符串型。

使用gettype()获取变量的类型,返回值为类型的string,例:gettype($sum);使用settype()设置变量的类型,返回值为布尔值,:settype($sum,int);使用isset()判断一个变量是否存在,返回值为布尔值;使用unset()销毁一个变量,返回值为布尔值;使用empty()判断一个变量的值是否为空,返回值为布尔值。

超全局变量:$_SERVER,$_POST,$_GET...

php访问表单数据:(1)$userName $后跟表单的名称不允许使用,与普通变量容易混淆。

(2)$_POST[‘uerName’] 推荐使用

(3)$HTTP_POST_VARS[‘userName’] 不推荐使用

字符串链接用’.’;例如:”这个学生的姓名是:”.$userName;

“+”表示数值相加;

PHP中双引号可以解析字符串里的变量和转义字符。

break是退出整个循环,continue是退出本次循环,进入下次循环;exit是退出当前程序。

函数:is_int()判断变量是否为整数;is_float()判断变量是否为浮点数;is_numberic()判断变量的值是否为数字或数字字符串;rand()返回一个整数(0-32767);rand(min,max)返回一个min-max之间的整数;mt_rand()等价于rand(),不过比rand()速度快;getrandmax()返回最大的随机数;mt_getrandmax()等价于getrandmax(),返回最大的随机数(2147483647);number_format()格式化数字字符串;abs()求绝对值;floor()舍去法求整;rand()四舍五入;min()求最小值;max()求最大值;ceil()进一步取整;

php数组

创建数组 1$userNames=arrry(“傻子”,”疯子”,”小飒”);2)使用range(),建立一个包含指定范围的单元数组,例:$a=range(1,10);创建一个从010的数组。$b=range(‘a’,’z’);创建一个从’a’到’z’的数组。

print_r()打印关于变量易于理解的信息。

count()返回数组中元素的个数。

foreach用于遍历循环数组,不用考虑key;例:foreach($userNames as $key => $value){ echo $key.”---”.$value;echo “<br />”;}

is_array()判断变量是否为数组,返回值为布尔值。

自定义键数组

$userNames=arrry(‘you’ => ‘傻子’,’me’ => ’疯子’,’he’ => ’小飒’);

自定义键数组追加数组 首先创建数组如下:$userAges=array(‘傻子’ => 19);$user[‘傻子’]=19;

追加数组如下:$userAges[‘疯子’]=20; $userAges[‘小飒’]=21

自定义键数组不能通过for循环访问数组元素,只能通过foreach访问数组元素。例:

Foreach($userAges as $key => $value){ }

each的使用:返回数组中当前的键值对,将数组指针向前移动一步。返回值为一个数组,首先,对于一个数组,指向第一个元素,将第一个键值对获取,然后包装成一个新数组,此时指针移动指向第二个元素。例:$userAges=array(‘疯子’=>19,’傻子=>20,’小飒’=>21’);print_r(each($userAges));执行后的结果为Array([0] => ’疯子’,[key] => ’疯子’,[1] =>19,[value]=>19);

可以用each来循环数组变量 例:while(!!$a=each($usereAges)){echo $a[key].’---’.$a[value].’<br />’;}

List()把数组中的值赋给一些变量,返回一个数组。List()只能认识key为数字的数组,List()无法识别自定义键为字符串的数组。例:$userAges=array(‘疯子’ => 19,’傻子’ => 20,’小飒’ => 21);$a=each($userAges);list($name,$age)=$a;echo $name;echo $age;结果为疯子、19。也就是把数组aKey赋值给$name,数组a的值赋给$age;

reset()将数组的内部指针指向第一个单元。

array_unique()用来移除数组中重复的值,创建了一个新的数组,返回新数组,旧数组原封不动。

array_flip()用来交换数组中的键和值,创建了一个新的数组,返回新数组的,旧数组原封不动。

数组里的数组(二维数组)的创建::(1)$products=array(array(‘苹果’,6,28.8),array(‘猪肉’,2,32.1),array(‘饼干’,3,45.3));

访问二位数组:for($row=0;$row<count($products);$row++){

for($col=0;$col<count($products[$row]);$col++){ } }

(2) $products=array(array(‘产品名’ => ‘苹果’,’数量’ => 6,’价格’ => 28.8),array(‘产品名’ => ‘猪肉’,’数量’ => 2,’价格’ => 32.1),array(‘产品名’ => ‘饼干’,’数量’ => 3,’价格’ => 45.3));

访问自定义键二维数组:for($row=0;$row<count($products);$row++){

foreach($products[$row] as $key => $value){ } }

或者for($row=0;$row<count($products);$row++){

while(!!list($key,$value)=each($products[$row])){ } }

数组排序

sort()返回布尔值,按照字母顺序进行排序,第二个参数为可选参数。

asort()保留索引关系,进行排序,返回值为布尔值。

ksort()按照键的顺序进行排序,返回值为布尔值。

rsort()arsort()krsort()分别都是sort()asort()ksort()的逆向排序结果。

shuffle()将数组元素打乱,随机排序。

一般array_打头的函数都会创建一个新的数组。也有例外如下函数。

array_unshift()将数组元素添加在数头部,返回数组的元素个数。例:array_unshift($userNames,’大傻子’);

array_push()将数组元素添加在数组的尾部,返回数组的元素个数。

array_shift()从数组头部进行删除元素,返回数组元素个数。例:array_shift($userNames);

array_pop()从数组尾部进行删除元素,返回数组元素个数。

array_rand()从数组中随机取出一个或多个单元,第二个参数表示用来获取数组中的一个或几个键,也可以表示随机获取几个值。例:array_rand($userNames,2);表示从数组中随机取出两个元素的键,也就可以获得这两个元素的值。

current()获取指针的当前元素,指针不会移动到下一个元素。

next()获取下一个元素的指针。

reset()将指针指向第一个单元。

pos()也就是current()的别名。

prev()将数组内部指针倒回一位。

count()sizeof()统计数组中的元素个数。

array_count_values()统计数组中下标值的个数,统计数组中所有值出现的次数。

extract()通过标量函数将字符串键设置为变量,将值赋值给变量。

 

posted @ 2018-03-21 00:03  因为有你so  阅读(134)  评论(0编辑  收藏  举报