从0开始学习PHP,学到建立网站,001 基本语法
来源:互联网 发布:java判断请求的浏览器 编辑:程序博客网 时间:2024/06/16 08:34
首先在网上收集PHP基本语法,运算标示符 就不阐述了 因为都大同小异
=======引用自===http://jiayuan.liuzebbs.com/blog-2-2.html
PHP基础语法知识大全
##混合型的数组
$arr=array("foo" => "bar",12=>true,5=>3);
echo $arr["foo"];//bar
echo $arr[12];//1
echo $arr[5];//3
#添加
$arr[]=99;
echo $arr[13];//99
$arr["add"]="new";
echo $arr["add"]//new
#删除
unset($arr["foo"]);
unset($arr);
##对象|类型|常量
class foo{
function do_foo(){
echo "hello";
}
}
$bar = new foo();//实例化一个对象给变量
$bar->do_foo();//hello
#类型转对象
$obj=(object)"rczjp";
echo $obj->scalar;//rczjp
#强制类型转换
$foo=3;
$bar=(bool)$foo;
echo $foo;//3
echo $bar;//1
#单引号不转义
echo 'qq$w\nw';//qq$w\nw1
#定义常量
define("PI",3.1415926);
echo PI;//3.1415926
#操作符,其中连接操作符是点(.),其余的同其他语言
echo 11==11;//1
echo 11==="11";//类型不一样,不相等
echo 11>=.10;//1
##函数
function fun(){
print "Hello word!";
}
$funvar = "fun";//函数名赋值给变量,此变量就成了这个函数的引用
/*fun()或者$funvar()调用函数*/
##变量的作用域
$life=42;
function meaningOfLife(){
global $life;//函数内部访问全局变量必须加global
$life=33;
print "The meaning of life is $life
";
}
meaningOfLife();//The meaning of life is 33
#static
function numberedHeading($txt){
static $num_of_calls=0;
$num_of_calls++;
print "<h1>$num_of_calls. $txt</h1>";
}
numberedHeading("Widgets");//1. Widgets
numberedHeading("Doodads");//2. Doodads
/*static类型是常驻内存的*/
##传值与传址(引用)
//传值
function addFive($num){
$num+=5;
}
$orignum=10;
addFive($orignum);
print $orignum;//10
//传引用
function addThree(&$num){
$num+=3;//因为传递过来的是变量$num的引用,所以改变形参$num的值就是改变变量$oldnum物理内存中保留的值
}
$oldnum=10;
addThree($oldnum);
print $oldnum;//13
##创建匿名函数
$my_anonymity=create_function('$a,$b','return $a+$b;');
print $my_anonymity(11,33);//44
//判断函数是否存在
function QQ(){}
echo function_exists("QQ");//1
##PHP连接MySQL
$link = mysql_connect('localhost', 'root', 'pwd');
mysql_select_db("ultrax",$link);//连接数据库
$sql="Select * From pre_forum_post";
$result=mysql_query($sql,$link);//增删改查
//输出结果
if(mysql_num_rows($result)>0){//记录数
while($newArray=mysql_fetch_array($result)){
$pid=$newArray['pid'];
$fid=$newArray['fid'];
$tid=$newArray['tid'];
$author=$newArray['author'];
$subject=$newArray['subject'];
$message=$newArray['message'];
echo $author." ";
}
}
mysql_close($link);//关闭
##获取表单提交的元素值
$formval=$_POST['txt'];//eg.文本框的name
echo $formval;
/*
直接如上写法,有警告提示 Notice: Undefined index: txt,以下是两种解决方法:
if(array_key_exists('txt',$_POST)){...}
if(!empty($_POST['txt'])){...}
*/
##获取URL参数的值
$getval=$_GET['p'];
echo $getval;
##页面跳转
header("Location:http://www.rczjp.cn");
##字符串操作
//字符串分割为数组
$str="1-2-33-44-5-55";
print_r(explode("-",$str));//Array ( [0] => 1 [1] => 2 [2] => 33 [3] => 44 [4] => 5 [5] => 55 )
//字符串替换
print(str_replace("-","=",$str));//1=2=33=44=5=55
数组序列化和反序列化
$groupterms = array();$groupterms['main'] = array('time' => 1307980800, 'adminid' => 0, 'groupid' => 10);序列化=>将数组转成字符串
$grouptermsnew = addslashes(serialize($groupterms));反序列化=>将字符串转成数组
$str='a:4:{i:4;s:16:"bbs1.discuz7.com";i:6;s:16:"bbs2.discuz7.com";i:2;s:17:"bbs12.discuz7.com";i:9;s:14:"ok.discuz7.com";}';
$domain=unserialize($str);
echo $domain[9]; //ok.discuz7.com
echo array_search("bbs2.discuz7.com", unserialize($str)); //6
日期加减,减去一个月和一天
date('Y-m-d',strtotime('-1 months -1 days',time()));
##session
session_start();//打开session或者在PHP.ini里面配置session.auto_start 将0修改成1(启用),这样就不必每次都调用这个函数打开
$_SESSION['uname']="QinMi";//赋值
$sessionval=$_SESSION['uname'];//获取
session_destroy();//销毁session
##Cookie
$_COOKIE['c1'] ='cookie1';
setcookie('c2','cookie2',time()+3600);
echo "c1:".$_COOKIE['c1'].",c2:".$_COOKIE['c2']; //c1:,c2:cookie2
删除Cookie
setcookie("c2", "", time() - 3600);
基于域的COOKIE
setcookie()还可以设置控制读取cookie的程序的域及目录路径,默认为同服务器且在同级或以下目录结构内的页面才可以读取,然而如果你想设置允许从域example.com的/~www目录处理页面
setcookie("domaincookie", "hello", time() + 3600, "/~www/", ".tag.com", 1);
setcookie("domaincookie", "hello", time() + 3600, "", ".tag.com", 0);
1是ssl的安全链接
输出如下
Array
(
[X-Powered-By] => PHP/5.2.17
[Set-Cookie] => domaincookie=hello; expires=Thu, 17-Mar-2011 09:57:35 GMT; domain=.tag.com; secure
)
删除
setcookie("domaincookie", "", time() - 3600, "", ".tag.com", 0);
输出如下
Array
(
[X-Powered-By] => PHP/5.2.17
[Set-Cookie] => domaincookie=deleted; expires=Wed, 17-Mar-2010 08:59:24 GMT; domain=.tag.com
)
SESSION和COOKIE的用法有点不一样,所以在使用COOKIE的时候是用setcookie
其他函数
echo "{$_SERVER['HTTP_USER_AGENT']}";
$browser = get_browser();//开启php.ini中的browscap.ini,如未找到,请搜索并指定路径
echo "<pre>";
print_r($browser);
print_r($browser->browser);
//PHP代码高亮
highlight_string("<? function(){echo 'hello';} ?>");
//show_source('test.php');
echo uniqid();//生成唯一标识符
function foo() {
//统计函数的参数个数
$numargs = func_num_args();
echo "
参数个数:$numargs
";//参数个数:3
if ($numargs >= 2) {
echo "第二个参数:" .func_get_arg(1)."
"; //第二个参数:qinmi
}
//获取foo函数所有的参数
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo $arg_list[$i]." "; //hello qinmi rczjp.cn
}
}
foo('hello', 'qinmi', 'rczjp.cn');
//------ ob_start(); ob_get_contents(); 缓冲区---------------------//
ob_start();//开启输出缓冲区
echo '缓冲数据1';//保存在缓冲区,不输出
$o1 = ob_get_contents();//获取缓冲区的内容
$l1 = ob_get_length();//获取缓冲区内容的长度[中文算2个长度]
ob_end_clean();//删除内部缓冲区的内容,并且关闭内部缓冲区
ob_start();
echo '缓冲数据2';
$o2 = ob_get_contents();
ob_end_clean();
echo $o1.",长度:".$l1."
";//缓冲数据1,长度:9
echo $o2;//缓冲数据2
//-----------------------------------------------//
提高安全性
//关键页面禁止访问,比如类与函数库文件等
if(!defined('QINMI')) {
exit('禁止访问');
}
//需要被访问的页面,设置可以访问即可。
define('QINMI', true);
?>
<?php
ignore_user_abort(true);//忽视用户中断,默认都是不忽视的,节约系统资源
sleep(5);//等待5秒
var_dump(connection_status());//显示用户的连接状态
//浏览器停止或关闭都将继续进行
$logtime = fopen("1.txt","a+");
fwrite($logtime, date("Y-m-d H:i:s")."\r\n");
fclose($logtime);
?>
echo number_format(12345.892,4,'.','@');//4是精确的小数位,第三个参数是小数点的符号,第四个参数是千位分隔符号
echo nl2br("\nhello\nword\n");//\n转成<br />
echo pack("C*",97,98);//ab
print_r(unpack("C*",'aB'));//Array ( [1] => 97 [2] => 66 )
$bin = pack("c2n2",0x31,0x32,65,66);
echo $bin;//12AB
print_r(unpack("c2chars/n2int",$bin));//Array ( [chars1] => 49 [chars2] => 50 [int1] => 65 [int2] => 66 )
echo strtr('abcd,efg,hi',',','@');//效率比str_replace要高.打开apache的mod_deflate模块,提高网页浏览速度
====了解基本语法 完======
- 从0开始学习PHP,学到建立网站,001 基本语法
- [PHP]从HelloWorld开始的基本语法入门教程
- 学到的python-从0开始
- scala学习计算开始基本语法1-从今天开始更新
- 从今天开始学习PHP!
- erlang初步,从倾国倾城开始学习erlang,第一篇-基本语法
- php学习之基本语法
- php学习之基本语法
- php学习之基本语法
- scala学习计算开始基本语法2
- 学习PHP 第一章php基本语法
- php学习笔记六:PHP-基本语法
- 从0开始做网站
- JavaWeb从0开始学(二)-----JSP基本语法与编译指令
- JavaWeb从0开始学(二)-----JSP基本语法与编译指令
- 从一家电子商务网站学到的经验教训
- 从一家电子商务网站学到的经验教训
- 从一家电子商务网站学到的经验教训
- chap_12.3新学习
- C++ AMP掠影
- QTP对象的一些隐藏的属性和方法
- 5.Struts的<action input=""></action>:struts-config.xml
- 6.Struts的<action input=""></action>:web.xml
- 从0开始学习PHP,学到建立网站,001 基本语法
- 关于undefined的含义
- Oracle的SQL语句大全(摘)--- 复杂
- weblogic 配置操作
- apache2 Time Out时间修改
- 爱你的传奇
- Java爬虫框架(一)--架构设计
- 用php实现下载生成某链接的快捷方式
- javascript知识点之target和delete