热门标签: 转载 JavaScript mysql 学习 php
主页> 后端 >

PHP笔记

发布时间:2017-11-06 编辑:三石兄 标签: PHP笔记 热度:738

学习php时记录的笔记,当时记录在本地文本里,现在把他复制到博客里

变量作用域有4种:local(局部)
                 global(全局)
                 static(静态)
                 parameter(参数)

局部:只能在函数内使用,不能再函数外使用;

全局:当要在定义函数里调用全局变量时,要用global $x;来声明后,才可以调用
      PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。
      也可以在定义函数里使用$GLOBALS['index']来调用全局变量;

静态:当一个函数完成时,它的所有变量通常都会被删除。当给变量声明是使用static,如static $x=0;
      在调用完该函数时,$x的值将保留为最后一次调用时的值,下一次调用函数时不会被重新赋值,但变量仍然是        局变量;
    
参数:通过调用函数来给函数内局部变量赋值,如func(4);
_______________________________________________________________________________

echo   - 可以输出一个或多个字符串
print   - 只能输出简单类型变量的值,如int,string
print_r - 可以输出复杂类型变量的值,如数组,对象

//print有返回值为1,print_r有返回值ture;
__________________________________________________________________________

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

常量:define(name,value,对大小写敏感false);例如:define("name","5");

strlen()返回字符串的长度;

strpos(name,value) 函数用于在字符串内查找一个字符或一段指定的文本,如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE;
____________________________________________________________________________________

                                       数组
count() 返回数组的长度,从1开始;

关联数组:$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
           or
          $age['Peter']="35";
          $age['Ben']="37";
          $age['Joe']="43";

遍历关联数组:foreach($name as $x=>$x_value){};

sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
shuffle() -对数组进行随机排列

asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列
如果没有给数组分配索引,系统会自动分配,从0开始;

array_push($arr,'x'); //向数组末尾添加元素,元素可以是多个,键默认是数字,不能添加键;

$arr = explode('分隔符',$x); //将字符串通过分隔符转换成数组;
$x   = implode('分隔符',$arr); //将数组通过分隔符转换成字符串;
________________________________________________________________________________________

超级全局变量:
$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。
例如:$_SERVER['PHP_SELF']当前执行脚本的文件名;

$_REQUEST 用于收集HTML表单提交的数据。
$_POST
$_GET
________________________________________________________________________________________________

魔术变量:

__LINE__:文件中的当前行号。(__是两个_);

例如:echo '这是"'.__LINE__.'"行';

__FILE__:文件的完整路径和文件名;

__DIR__:文件所在的目录;

__FUNCTION__:函数名称;

__CLASS__:类的名称;

__TRAIT__:trait的名字;

__METHOD__:类的方法名;

__NAMESPACE__:当前命名空间的名称;
_______________________________________________________________________________________________________

命名空间:

namespace name:声明命名空间;命名空间必须是程序脚本的第一条语句
_______________________________________________________________________________________________________

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体(例如空格,< >等字符);

header("content-type:text/html;charset=utf-8");    用来转换编译格式,在出现中文乱码时使用;

'<pre>'在打印数组的时候可以格式化,使每一个索引单独一行,echo '<pre>';print_r($arr);

count($arr)返回数组中元素的数目,空数组会返回一个0;

foreach($arr as $key=>$val){};遍历数组;

rand(x,y)//获取x至y之间的随机数;

ceil($x/$y)//作用是向上取整数,4.25则为5;

$b=$a>=60?"及格":"不及格";//三元运算符,也是种比较运算符,当为TRUE的时候结果是及格,FALSE的时候为不及格;

$num=number_format($s,2,".",'')//格式化$s的数字,为2为小数,以.作为小数分割符,第四个参数为千位分隔符,如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。

_____________________________________________________________________________________________________

                                    字符串处理和时间

双引号内的字符串会先被编译器解释后输出,单引号内的字符串被当做纯文本来输出;

strlen(); //字符串的长度;

strstr(被查对象,'查找字符'); //字符串查找,没有的话返回FALSE,有的话从有的地方开始返回后面所有内容;
strist(); //字符串查找,作用同上,但对大小写不敏感;

strpos(被查对象,'查找字符',[从第几个开始]); //获取字符串的位置,第三个参数可选;
stripos(); //作用同上,但对大小写不敏感;

substr(被查对象,从哪个位置开始,[截取多少]); //截取字符串,第二参数如果是负数则从末尾开始,第三个没有则截取开始出后面的全部;

substr_count(被查对象,查找字符); //获取字符出现的次数;



date("Y-m-d,H:i:s",[时间戳]); //获取系统时间,2017-02-07,17:09:32;
date_default_timezone_set('PRC'); //设置时区为北京时间;
time(); //获取当前系统时间戳;
mktime(小时,分钟,秒,月,日,年); //根据设定时间获取对应的时间戳;
strtotime("-7 days"); //将任何英文文本的日期或时间描述解析为 Unix 时间戳;

//时间戳:3600*24 等于一天;

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
//设定为当前页面为处理页面,并且能够过滤特殊符号;

____________________________________________________________________________________________________

                                    会话控制
setcookie('name',"value","unix","path","domain","secure");

 //创建cookie,名字,值,时间戳,在服务端的路径,所属服务器网址,值1是只在HTTPS上传说,0则http和HTTPS;

$_COOKIE[""]; //获取cookie;

setcookie("name","",time()-1); //删除cookie,将时间设置成过去时间;


session_start(); //启动session;
$_SESSION[“name”]="value"; //注册变量并赋值;

unset($_SESSION["name"]); //删除session变量;
$_SESSION=array(); //删除多个session变量,只留下空数组;

session_destroy();  //注销会话,将会话相关数据全部销毁;

if(!session_is_registered("gender"))//判断当前会话变量是否注册;



______________________________________________________________________________________________________
                                      文件操作

$_SERVER['DOCUMENT_ROOT']//文档文件的根目录 例如E:/wamp/www/
echo "$document../order.txt";   显示为E:/wamp/www/../order.txt; ..为文档根目录的父目录,.为同文件目录;

$fp=fopen("$document../order.txt",'w'); //写文件,r=只读;w=只写;x=谨慎写;a=追加写;b=二进制;只读和只写每次调用的时候都会覆盖已有内容,所以推荐a;

fwrite()或者fputs() 写文件; fwrite($fp,$arr)//第一个参数为文件,第二个参数为写入内容;
strlen($tex)//获取$tex的字符串长度; \r\n 等价于<br/>  \t制表符,相同于空格;

fclose($fp)//关闭文件;

while(!feof($fp))//feof当文件指针到了末尾后,返回TRUE

fgets($fp,999)//读取$fp文件,每次只读一行(\n),或者998b字节后结束;
fgetss()//可以过滤html代码;
$arr=fgetcsv($fp,100,'\t');//遇到\t的时候分行;



-----------------------------------------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>


//html头部代码;

header("content-type:text/html;charset=utf-8");

Copyright © 2017-2018 三石兄博客 & 版权所有

蜀ICP备17023832号

247233