标签:
Hypertext Preprocessor 超文本预处理器的缩写,
PHP标记:
1.<?php ?>
2.<? ?>
3<script language = "php"> </script>
4<% %> //asp风格 需修改php.ini配置文件才可以使用
5.<?php //只有PHP代码时
1.变量声明 变量以美元符 $ 开头,然后是变量名; 变量名由字母或下划线开头,由字母,下划线,数字组成; 变量名区分大小写; php 是弱类型的语言,不需要事先声明变量的数据类型; php可以不用显示的声明变量就直接使用,不过好的编码习惯:所有的变量在使用前应该进行 声明;
引用赋值:
$str1 = "hello";
$str2 = &$str1;
变量的变量:
$val_1 = ‘hello‘;
$$val_1 = ‘world‘;
echo $hello;
$_SERVER 服务器变量;
$_GET
$_POST
$_REQUEST 该变量记录着通过各种输入方法传递给脚本的变量,如GET POST,但不要用这个超级全局变量,因为它不安全而且速度比较慢;
$_COOKIE cookie变量组
$_SESSION 会话变量数组
$_FILES 与上传文件有关的变量数组
$_ENV 环境变量数组
$GLOBALS 所有全局变量数组
1.常量定义:
define("PI",123233);
echo PI;
2.内置常量
PHP_OS PHP所在的操作系统的名字
PHP_VERSION 当前 PHP 的版本
3.魔术常量
__LINE__ 文件中的当前行号;
__FILE__ 文件的完整路径和文件名; __FUNCTION__ 函数名称;
__CLASS__ 类的名称;
__METHOD__ 类的方法名;
字符串:
单引号不能用变量,
双引号可以用变量,
定界符可以用变量还能换行,
转义字符:
\n 换行
\r 回车 ( WINDOW \r\n ) (linux \n) (Mac OS \r)
\t 水平制表符 (按键盘 tab 产生的效果)
\\ 反斜线
\$ 美元符(表示变量的开始)
\" 双引号
以下值被认为是FALSE:
布尔值 FALSE
整型值 0
浮点型值 0.0
空白字符串和字符串 “0”
没有成员变量的数组
没有单元的对象(php4适用)
特殊类型的NULL
数组:
$week = array("mon","tur","wed");
对象:
$db = new db;
资源:$fn = fopen("test.txt","r");
null :
null 无,表示没有值,null不表示空格,也不表示0;以下则认为是null;
没有设置为任何预定义的变量;
明确的赋值为null;
使用函数unset()清除;
定义域:
全局与局部互不影响;
在局部内用global 调用全局变量;
gettype()返回变量的类型;
getttype($str);
is_type()查看变量是否属于某个类型,是返回TRUE ,否返回FALSE;
is_array($arr);
c函数用来得到变量的类型和值的详细信息
默认参数值:
可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋 给该参数;
可选参数 :
可以指定某个参数为可选参数,这些参数需要放在参数列表的末尾,需且要指定其默认值为空; 如果指定了多个可选参数,可以选择性地传递某些参数;
.require() 与 include() 之间的区别 :
无论require()的位置如何,指定文件都将包含到出现require()的脚本中。即使require()放在if语句中,依然会包含指定文件。(php版本4.0.2之前有效)
如果require()包含文件出错时,脚本将停止执行。 而使用include()脚本将继续执行。
数组
删除数组或数组元素
unset($arr); //不会重建索引
常用数组函数:
print_r() //打印数组
count() //返回数组长度
key() //返回数组当前指针元素的索引
current() //返回数组当前指针元素的值
next() //将数组指针向前移动一位,并返回当前指针元素的值,如果超出了数组元素的末尾,返回false;
prev() //将数组指针往回移动一位,并返回当前指针元素的值,如果超出了数组元素的末尾,返回false;
reset() //将指针指向第一元素,并返回该元素的值
end() //将数组指针指向最后一个元素,并返回该元素的值
each() //返回数组当前指针元素的键和值,并将指针推进一个位置,如果内部指针越过了数组末端,则each()返回false
list() //把数组中的值赋给一些变量
遍历关联数组:
foreach($arr as $key =>$value){
echo $key.‘:‘.$value.‘<hr>‘;
}
数组排序:
sort()、rsort() //对数组进行升序和降序,如果数组为关联数组,不保持其关联关系
ksort()、krsort()对关联数组进行升序和降序,并保持关联关系
二元数组
$result = array( array( ‘pname‘=> ‘nokia n73‘, ‘price‘=> 1500, ), array( ‘pname‘=> ‘nokia 5800‘, ‘price‘=> 2000, ), );
遍历二维数组: foreach($products as $product_k=>$product_v){ foreach($product_v as $key=>$val){ echo $key.‘=>‘.$val; } }
explode() //返回由字符串组成的数组
$arr = explode(‘,‘,$str);
implode() //将数组连接成字符串
$str = implode(‘|‘,$arr);
字符串
输出字符串
echo // 是一个语法,不是函数,没有返回值,可以输出多个值,使用逗号分隔
echo “hello,$val”;
print //是一个语言结构
print ("hello $val");
print "hello world";
printf() //格式化输出字符串;
%b 二进制输出 、%d整数输出、%f浮点数输出、%s字符串输出
printf("整数:%d",$str);
sprintf() //与printf相同,但不会直接输出结果
查找与替换
strpos() //以区分大小写的方式找到所找内容第一次出现的位置,如果没有找到则返回false,可以指定开始查找的位置
echo strpos("hello wolrd","wo");
stripos() //与sprpos()一样,只是不区分大小写
str_replace() //区分大小写,替换所有找到的内容,可指定替换个数
$email = str_replace("@", "(at)", $str);
echo $email;
str_ireplace() //不区分大小写
截取字符串:
substr() //从开始位置取出length长度的字符,字符串位置开始值为0;如果没有指定长度,那么默认一直到末尾
echo substr("hello world",6,5);
strstr() //搜索一个字符串在另一字符串中第一次出现的位置,返回从匹配点开始后的所有,没找到返回false
echo strstr("hello world","world");
stristr() //不区分大小写
删除字符串;
ltrim() //删除字符串左侧空格或者其他预定义字符;如果没有设置charlist,则删除一下字符:"\o" NULL "\t" 制表符 "\n" 换行 "\xoB" 垂直制表符 "\r" 回车 " " 空格
echo ltrim($str);
rtrim() 上同,删除右边
trim()上同,删除两侧
其他字符串处理:
strlen() //获取字符串长度
strlen($pass)
strtolower() //将字符串转换为小写字母
strtoupper() //将字符串转换为大写字母
strrev() //反转字符串
nl2br() //将字符中换行(\n)转换成HTML换行标签(<br/>)
strip_tags() //删除字符串中HTML XML PHP 标签,可指定保留标签
htmlspecialchars() //把一些预定义的字符转换为HTML实体
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
‘ (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >
header("Content-type: text/html; charset=utf-8");//放在最前面
mysql_query("set names utf8");
PHP基础
标签:
原文地址:http://www.cnblogs.com/pan-hello/p/4565467.html