您的位置:首页 > 编程语言 > PHP开发

05 PHP基础知识及常用函数

2013-06-04 09:22 627 查看
<?php
基础语法
PHP代码可以放的位置
纯PHP文件,可以不要结束的?>标记
强烈建议不使用短标签<??>
指令分隔符;
注释和JS一样(js不能用#注释,)(#单行,单行,/*多行*/)
PHP的常用类型
整型,字符串,浮点型,数组,对象object,资源resource,NULL,布尔boolean
单引号和双引号区别及用法(双引号中的变量是要被解释的。)
$str = "WHERE Fid={$_SESSION['user']['username']}";
变量
变量的定义,$打头,英文,数字,下划线,一般自定义变量用英文字母打头,变量名全部用小写字母,不同的英文单词之间用下划线接连
$this是PHP的保留字,不能用来定义成一个自定义的变量
全局变量和局部变量的区别及用法,global $a,$b;global只能用在function内部
=========================================
$a = 123;
$b = 456;
function test() {
global $a;
echo $a;
$a = 789;
}

function test2() {
global $a;
echo $a;
}

test();
test2();

echo $a;
=============================================

可变变量,把一个变量的值当成另一个变量的名字,表现上就是两个$=>>$$str
$str = 'abc';
$abc = '11111111111';
echo $$str;
变量的引用(值传递):&,比如:$a = 1; $b = &$a;
特殊符号:@,可以抑制错误的报道,数据库连接、操作用的比较多
常量
命令:define('名称','值');常量名一般都用大写字母
检测常量是否被定义过defined('名称');
常量是全局的。可以自动在类,类中的方法,函数中直接调用。
包含(引入文件)
include , include_once
require , require_once
include 'aaa/001.php';

输出语句
echo 平时只用来输出一个普通的变量
print_r($a)一般用来输出数组或对象,输出时不带类型。主要用来调试程序
var_dump($a)一般用来输出任何类型的数据,会带数据类型。主要用来调试程序
程序结束命令exit;
phpinfo();当前的PHP配制

数组--------------------------------------------------------------------------
$arr = array('name'=>111,'sex'=>2,3=>3,'a'=>4,5);
数组的下标:下标、key、键名
$b[1] = 111;
$b[5] = 555;
$a[] = 'adsfd';
$a[] = 'adsfd';
数组的维数,主要看中括号有几层
$c[][] = '二维';
上面的等同于:$c = array(array('二维'));
还等同于:$c = array(0=>array(0=>'二维'));
还等同于:$c[0] = array(); $c[0][0] = '二维';
还等同于:$c[0] = array(0=>'二维');
还等同于:$c[0] = array('二维');
print_r($c);

语句和表达式------------------------------------------------------------------
if else
for
while
do while
switch() { case 1: break;}如果不加break,则程序会一直往下走,直到遇到break为止。
foreach
$arr = array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
foreach($arr as $key=>$value) {
echo '键名为' . $key . '的值为:' . $value . '<br />';
}
$key是可以省略的,$value不能省略,$key和$value只是一个变量名,不固定不变的名称
运算符 ------------------------------------------------------------------------
连接符是英文句点,不是加号

类与对象 ----------------------------------------------------------------------
类的声明class
class
extends 继承
类的封装
private $a=1; 私有属性,只能在类内部调用,不能在类外部调用
public $b=2; 公共属性,可以在类内部或外部调用
protected $c = 3; 受保护的属性,可以在父类和子类内调用。不能被外部调用。
static 静态修饰符
self:: 调用本类静态修饰的属性或方法
parent:: 调父级的属性或方法
$this->  调用本类内的属性或方法
-> 指向引用的作用
:: 指向引用的作用
构造方法__construct()在所有的方法没有运行之前,先自动运行
析构方法__destruct()在所有的方法都运行完以后,再自动运行

报错机制----------------------------------------------------------------------
打开报错机制:php.ini
将display_errors = On 假如为Off的话,则设为On
;error_reporting  =  E_ALL & ~E_NOTICE
把error_reporting  =  E_ALL前面的分号去掉,把 & ~E_NOTICE删除
网站正式对外发布的时候,需要关闭这个报错机制。
魔术方法
__autoload()

预定义变量--------------------------------------------------------------------
超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量
$GLOBALS — 引用全局作用域中可用的全部变量
$_SERVER — 服务器和执行环境信息
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_SESSION — Session 变量,可以跨页面调用
session.auto_start = 1 等于1开启,等0关闭
session.save_path = "e:/session" 路径可改变,最好更改一下默认的路径
session.gc_maxlifttime 生命周期
$_COOKIE — HTTP Cookies,可以跨页面调用,但是当前页面取不到

[PHPSESSID]
COOKIE,SESSION----------------------------------------------------------------
SESSION
session_start();
$a = 1;
$_SESSION['aaa'] = $a;
SESSION的值存储在服务器端。
SESSION的值靠COOKIE里面存储的PHPSESSID来获取。也就是说,每次刷新页面,浏览器都自动将COOKIE中的PHPSESSID的值发给了服务器。
COOKIE
setcookie('aaa', 1234, time() + 10, '/', '.test.me');
COOKIE赋值必须用函数setcookie,取值必须在赋完值之后重新刷新页面才能取得到。
COOKIE存储在浏览器端
setcookie函数在使用前,不允许有任何字符的输出。

str_pad  : 字符串填充为指定的长度 str_pad($input,length [,$pad_string=''[,int $pad_type = STR_PAD_RIGHT ]])

trim
ltrim
rtrim
addslashes
stripslashes stripcslashes
substr
mb_substr
str_replace
str_ireplace不区分大小写
strlen
mb_strlen
substr_count
explode
implode
strtoupper
strtolower
ucfirst
ucwords
htmlspecialchars
htmlentities($str,ENT_QUOTES,'UTF-8')
strpos
stripos
number_format
date_default_timezone_set('PRC');
time
date学一下参数 date('Y年m-d H:i:s',time());
similar_text
urlencode
urldecode
quotemeta
chr
ord
rand
md5
base64_encode
base64_decode
nl2br()
iconv()
mb_convert_encoding()
json_encode()
json_decode()

$str1 = 'a';
$str2 = '%E4%B8%AD%E5%9B%BDabce12%E6%B1%89%E5%AD%97';
echo ord($str1);
echo base64_decode('MTIzNDU2');
-------------------
ceil()
floor()
round()
strval()
intval()
floatval()
(int)
(string)
(int) (float) (string) (array) (object) (bool)
------------------
preg_match http://www.phphome.org/javascript_jiaocheng/111.htm <<<HTML 字符串 最后一定要用 HTML;结尾
strstr
stristr
strtok
isset 检测一个变量是否存在
unset 注销一个变量
empty 判断是否为空,要注意能判断哪些情况
-------------------------------------------
数组
var_dump
print_r
echo
count
array_push
array_unique
array_merge
shuffle
echo $arr2[1][1][2];
array_key_exists
current
next
prev
end
reset
array_rand
array_chunk
list

时间日期
microtime
time
date
strtotime
mktime

mysql数据库
mysqlpdo类文件介绍
PHP框架
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: