zoukankan      html  css  js  c++  java
  • 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()通过标量函数将字符串键设置为变量,将值赋值给变量。

  • 相关阅读:
    超文本传输协议 HTTP/1.0 Hyptertext Transfer Protocol
    VB.NET中使用代表对方法异步调用
    蚂蚁解道德经(1)[转载]
    vb.net 类的属性的设置和获取问题
    VB.net入门(6):类~构造函数,事件
    什么是Ajax技术
    千里之外
    一个asp.net2005的页面文件调用CSS样式的BUG
    一个.net发送HTTP数据实体的类
    利用ASP发送和接收XML数据的处理方法
  • 原文地址:https://www.cnblogs.com/fairy-0518/p/8613993.html
Copyright © 2011-2022 走看看