PHP基本语法与常用函数
时间:2007-01-25 来源:otask
不包含PHP 5.x
基础字符串用.连接
基础
- 标识符(变量名,类名,函数名等)区分大小写。PHP内建的函数不区分(用户定义函数是否区分?)
- 变量不用声明,第一次赋值自动生成
- 自动根据环境情况改变变量类型
- 不定变量:$$varname
- 常量: 1) define('Const_Var', 100); 2) 常量不用$ 3) 注意定义时使用字符串 4) 函数内使用不用global 声明
- @: 用在表达式前,禁止错误输出
- ``: 执行shell命令,例: $result = `ls -l`;
- true/false: 不区分大小写,等同: TRUE/FALSE
- switch: 其允许的条件为:整数,字符串和双精度。
- exit(): 终止脚本运行,所有后面的内容(包括静态部分)不会输出。die()是exit()的alias,作用相同。与变量相关的函数测试和设置
- settype/gettype
- is_array
- is_double/is_float/is_real (都是相同函数,alias)
- is_long/is_int/is_integer (都是相同函数,alias)
- is_string
- is_object状态
- isset(): 变量是否定义
- unset(): 取消变量
- empty(): 1)检查变量是否存在 2)值是否非空非零转换
- intval(), strval(), floatval()等数组数字索引数组(array)定义
- 常规:$var = array('apple', 'orange', 'pear');
- 直接:$var[0] = 'apple'; 当$var不存在时,自动创建array个数
- 用count($array)和sizeof($array)。结果相同。
- array_count_values(): 特定值在数组中出现的次数添加
- 当数组有3个元素,可用$var[3] = 'xxx';
- $var[] = 'xxx';
- array_push函数相关数组(dictionary)定义和数字索引数组类似
- $var = array('apple' => 100, 'orange' => 200, 'pear' => 10);
- $var['apple'] = 100;枚举使用foreach:
foreach($anArray as $key => $value) { // $key, $value}如果数组不是dictionary,或只关心“值”:
foreach($anArray as $value) { // $value}使用each:
while($element = each($anArray)) { // $element['key'],
$element['value'] // OR // $element[0], $element[1]
}注意:用each后需要reset复位
关于reset和其他同系列函数:
- reset(): 数组指针位置复位
- current(): 返回当前指针位置的
- next() / previous(): 指针位置前移/后移,然后返回当前指针位置的
- end(): 指针位置移到末尾,返回当前指针位置的
list将数组分解为对应的一组变量,以上each的while循环可写成
while(list($key, $value) = each($anArray)) { // $key, $value }while(list(, $value) = each($anArray)) { // $value }字符串常用一般函数- trim(), ltrim(), chop(): 左右,左,右
- nl2br():
替换换行符 - strtolower()/strtoupper()
- addslashes()/stripslashes()
- $anArray = explode($separator, $input);
- $new_string = join($separator, $string_array);
子串$substring = substring($input, $start, $length);
- 只用一个正数为start,得到start开始的整句
- 只用一个负数为start,得到串尾的字串。个数是start的绝对值
- length参数意义: 正)返回字符的个数 负)倒数第x个字符为结束比较和查找
- strcmp()/strcasecmp(): strcasecmp是不区分大小写的比较
- strchr()/strstr(): 1)strstr($haystack, $needle) 2) 没有找到返回false 3) strchr是strstr的alias
- stristr()作用与strstr()相同,但不区分大小写。
- strrchr()作用与strstr()相同,但从后面开始匹配。
- strpos()和strrpos()作用与strstr相同,但不返回子串,而是索引位置。
- strrpos和strpos不同,只能接受用一个字符作为查找串。如果传入串,只用其第一个字符。
- 函数返回true/false可能和返回索引值0混淆,故必须用===测试结果。替换(不包括regex部分)
- $new_string = str_replace($search, $replace, $input_source);
- $new_string = substr_replace($input_source, $replace, $start, $length);
- start是替换开始位置。a)0或正数,从串头开始 b)负数,从串尾开始
- length。 a)不给,从start替换到最后 b)0,插入,不覆盖 c)正数,表示用新串覆盖的个数 d)负数,表示从尾计数的位置为终点函
数和类类定义和使用class classname extends baseclass { var _$attribute; //
initialize function function classname($param) { } function myfun()
{ }}使用(类没有私有概念)
$anObject = new classname($param);$anObject->myfun();$anObject->_attribute;
相关阅读 更多 +
排行榜 更多 +