Maison >développement back-end >tutoriel php >适合php初学者的php基础知识汇总
适合php初学者的一些基础知识,也可算是一些经验积累吧,有需要的朋友,可以参考下。
PHP基础 一、初识PHP PHP是与HTML混合使用的嵌入式语言。 1、PHP标记 默认标记 短标记 ?>,需在php.ini中将short_open_tag选项开启 短标记和其他标记不提倡使用 2、关键字不区分大小写,用户自定义的类名和函数名不区分大小写,变量名区分大小写 3、输出 boolean print(参数) 返回布尔值 void echo(参数) 无返回值echo的效率要高一点 二、数据类型 1、比较两个浮点数的通常方法是先移动若干小数位,然后转换为整型数据再进行比较。 2、双引号做分隔符的字符串支持变量名解析,单引号做分隔符的字符串不支持变量名解析。 $name="张三"; "$name"=>张三 || '$name'=>$name || "$name先生"=>空 || "{$name}先生"=>张三先生 || "${name}先生"=>张三先生 3、字符串定义的方式:单引号,双引号和heredoc( 4、对象类型必须显式的进行声明。类用关键字class定义,使用关键字new生成这个类的实例,使用->符号类访问类中的属性和方法 class car{public $cololr;function beep(){}}$mycar = new car; $mycar->color='red'; $mycar->beep(); 5、PHP是一种弱语言类型,变量的类型会根据赋予的值自行确定,而且往往在变量声明的同时进行变量初值的赋值。 6、数据类型强制转换时,只须将需要的类型名写在变量前的括号内即可。 三、常量和变量 1、定义常量 define("常量名",表达式或值) 常量名建议全大写,但不是必需的 使用常量 直接使用定义的常量名,无须在常量名前加"$" 预定义常量:_FILE_当前PHP程序文件名 _LINE_当前PHP程序所在的行数(在哪指哪) 2、变量不需要显式的声明,在对变量赋初值时就对变量进行了声明。如果变量没有被设置初值,则其初值即为NULL。 3、变量的赋值:传值赋值和引用赋值。如$a=&$b; 即b原来指向了一个存储位置,引用赋值后,a也指向了这个存储位置,这时,a或b的销毁都不会对对方造成任何影响,但是如果其中一个的值改变了,则另一个也会作出相同的改变。 4、访问预定义变量之使用超全局变量,总共9个超全局变量 5、局部变量:在函数内定义的变量 只能在函数内使用 全局变量:在函数外定义的变量 默认只能在函数外使用 要想在函数内使用全局变量,需要在函数内将变量用global声明,或者使用超全局变量数组&GLOBALS["变量名"] 在PHP中,只有函数能提供局部作用域。 超全局变量$GLOBALS包含了全部的变量 静态变量的特点:只有在第一次被调用时进行初始化,函数结束后不销毁,并且下次使用时,该变量还保留原来的值。 静态变量只能在函数内定义和使用。 可变变量:将变量的名字也作为一个变量来使用。$a=b;$b=c;$$a=$b=c; 外部变量:使用GET方式能传递的数据最大为256字节,使用POST最大为2MB 四、流程控制(仅写与java等其他语言的不同) 1、交互格式(冒号语法) 不建议使用,经典的比较直观 2、foreach():该语法是专门为数组设计的 第一种格式foreach(target_array as $value) statement 第二种格式foreach(target_array as $key=>$value) statement 3、break 数字:要跳出的结构的层数 contiue 数字:要跳出的结构的层数 4、exit语句可以结束当前整个脚本的执行,通常用于错误检查。 exit; exit("错误原因"); die()是exit的别名 $conn=mysql_connect("localhost","root","") or die("无法连接到MySQL服务器"); 五、数组 1、关联数组与数字索引数组唯一的区别在于索引的类型。 2、数字索引数组 初始化:直接为数组元素赋值array()函数 如果数组不存在,那么为数组元素赋值的同时即可创建该数组 如果数组元素是按顺序排列的数字,则在对数组进行初始化时,可以使用range()函数 range()有3个参数,第一个参数指定初始值,第二个参数指定终止值,第三个参数可选,用于指定步长 3、关联数组 初始化:直接为数组元素赋值array()函数 4、与数组相关的运算符 + 联合 $a+$b 将$附件到$a之后,但是任何索引值冲突的元素将不会被添加 == 等于 $a==$b 如果$a和$b包含相同元素,返回true(索引值和元素必须都相同) 除了顺序,其他必须完全一样 != 不等于 === 恒等 如果$a和$b包含相同顺序的相同元素,返回true(索引值和元素必须都相同) 必须完全一模一样 !== 不恒等 5、数组的排序 boolean sort() 按数字和字母顺序排列 排列后会赋予新的索引值,原有索引值被删除 void asort()按升序对数组进行排序 排列后保留原来的索引关系 integer ksort() 按索引值升序进行排列 usort(数组,方法名)按用户自定义方法进行排序 array_multisort() 一次对多个数组进行排序 natsort() 按自然顺序排序,排序后保留原有的索引关系 natcasesort() 自然排序,不区分大小写 6、数组的反向排序 rsort() 对数组元素按降序排列 arsort() krsort() 7、对数组进行重新排序 boolean shuffle() 对数组进行随机排列 array array_reverse() 将数组中的元素逆置 array array_flip() 将数组中的索引与其元素值兑换 8、数组的遍历 current() 获取数组中当前指针所指的元素值 next()将数组的指针向后移动一位,返回移动后指针所指向的元素的元素值 prev()将数组的指针向前移动一位,返回移动后指针所指向的元素的元素值 reset()指针设置回数组的起始位置 end() 将指针移动到数组的最后一个元素处 each()返回数组中当前指针所指向的“索引/元素值”对,并将数组指针向后移动一位 返回一个包含4个元素的数组,且该数组的索引分别为0,key,1,value key() 返回数组当前指针所指向的索引值 array_walk()以相同的方式对数组中的每一个元素进行处理 array_reduce() 将自定义函数依次应用于数组的每个元素 9、其他的数组操作函数 list()从一个数组中一次提取多个值,并同时赋值给多个变量 count()/sizeof()计算数组中元素的个数 1 2 3 4 下一页 尾页 |