菜鸟学习php

php整理

php是一种创建动态交互性站点的强有力的服务器端脚本语言

php脚本在服务器上执行,然后将纯HTML结果发送回浏览器

php脚本可以放在文档中的任何位置

php文件通常包含HTML标签和一些php脚本代码

php中的变量以$符号开始,后面跟着变量的名称(以字母或者下划线字符开始,变量不能包含空格,区分大小写)

php是一门弱类型语言(根据变量的值,自动把变量转换为正确的数据类型)

php变量作用域

  local   global   static   paramemer


global作用域

在所有的函数外部定义的变量,拥有全局作用域,出来函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用global关键字


 语法:

$x=5;

$y=10;

function myTest(){

    global $x,$y;

$y=$x+$y;  

}

myTest();

echo $y;//输出结果是15

static作用域

当一个函数完成时,它的所有变量通常都会被删除,然后,有的时候你希望某个局部变量不要被删除,要做到这一点,需要在你第一次声明变量时使用static关键字

然后每次调用该函数,该变量将会保留着函数前一次被调用时的值,该变量依然是局部变量

参数作用域

 function myTest($x){

       echo $x;

}

myTest(5);

echo和print语句

echo 可以输出一个或多个字符串

print 只允许输出一个字符串,返回值总为1

echo输出的速度比print快,echo没有返回值,print有返回值1.


PHP EOF(heredoc)使用说明

是一种在命令行shell(如sh,csh,ksh,bash,powershell和zsh)和程序语言(想Perl,php,python和ruby)里定义一个字符串的方法

  必须后接分号,结束标识必须顶格独自占一行(即必须从行首开始,后不能衔接任何空白和字符)

实例:

echo<<<EOF

        <h1>我的第一个标题</h1>

       <p>我的第一个段落</p>

EOF

//结束需要独立一行且不能有空格


php数据类型

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

var_dump()函数

用于输出变量的相关信息

显示关于一个或多个表达式的结构信息,包括表达式的类型与值,数组将递归展开值,通过缩进显示其结构

$a=array(1,2,array("a","b","c"));

var_dump($a);

php常量:

常量值定义后,在脚本的其他任何地方都不能被改变

 设置常量,使用define()函数 bool define(string $name,mixed $value [, bool $case_insensitive=false])

   该函数有三个参数

    name 必选参数,常量名称,即标识符

    value 必选参数,常量的值

    case_insersitive 可选参数  设置为true该常量则大小写不敏感,默认false,大小写敏感

常量生成之后默认是全局变量

   php算数运算符:   $x%$y   取模     a.b  并置 连接两个字符串   例如“hi"."ha"  结果是hiha     

php递增递减运算符

  ++x   预递增   x加1,然后返回x

 x++   后递增   返回x,然后x加1

  $x=10;

  ++$x;    //   11   --$x;   //9

 $x++;     //10    $x--;     //10

php比较运算符

    == 等于       ===绝对等于(如果x等于y,且他们类型相同,则返回true) 5===“5”返回false

x<>y 不等于     x!=y  不等于

php逻辑运算符

   x and y  与   如果x和y都是ture则返回true

  x or y    或      如果x和y至少有一个为true,则返回为true

  x xor y  异或   如果x和y有且仅有一个为true则返回true

  x  && y  与   

  x || y   或

  !x    非   如果x不为true,则返回true

三元运算符:

  (expr1)?(expr2):(expr3)

对expr1求值为true时的值为expr2,在expr1求值为false时的值为expr3.

组合比较符:php7之后有了这个

echo 1 <=> 1; // 0echo 1 <=> 2; // -1echo 2 <=> 1; // 1 // 浮点型echo 1.5 <=> 1.5; // 0echo 1.5 <=> 2.5; // -1echo 2.5 <=> 1.5; // 1 // 字符串echo "a" <=> "a"; // 0echo "a" <=> "b"; // -1echo "b" <=> "a"; // 1

switch语句:

<?php

$favcolor="red";

switch($favcolor){

case "red":

echo"你喜欢的颜色是红色";

break;

case "blue":

echo"你喜欢的颜色是蓝色";

break;

default:

echo"你喜欢的颜色不是红,蓝!";

}

?>

php数组:

  $cars=array("valv","ggg","sfsd");

  echo "I like".$cars[0].",".$cars[1]."and".$cars[2].".";

  echo count(cars);    //数组的长度

遍历数组:

   $arrlength=count($cars);

 for($x=0;$x<$arrlength;$x++){

     echo $cars[$x];

     echo "<br>";

}

 关联数组:是使用您分配给数组的指定的键的数组

   两张创建关联数组的方法

 $age=array("Peter"=>"35","ben"=>"37","Joe"=>"43");

or:

$age['Peter']="35";

$age['Ben']="37";

$age['Joe']="43";

遍历关联数组

    foreach($age as $x=>$x_value){

       echo"Key=".$x.",Value=".$x_value;

  echo "<br>";

}

对数组进行排序      sort();对数组进行升序排序  sort($cars);

php超级全局变量(php中预定义了几个超级全局变量(superglobals)),这意味着他们在一个脚本的全部作用域中都可用,你不需要特别说明,就可以在函数及类中使用

$GLOBALS  是php的一个全局变量组,在一个php脚本的全部作用域中可以访问,¥GLOBALS是一个包含了全部变量的全局组合数组,变量的名字就是数组的键

$_SERVER

$_REQUEST   用于收集HTML表单提交的数据

$_POST   广泛用于收集表单数据       $_GET 

while循环语句

while($i<=5){

     echo "The number is".$i."<br>";

    $i++;

}

do....while  语句至少执行一次代码,然后检查条件,只要条件成立,就好重复进行循环

_LINE_   文件中的当前行号

echo '这是第"'._LINE_>'"行';  //输出当前行数

_FILE_    文件的完整路径和文件名

_DIR_  文件所在的目录

_FUNCTION_   函数名称(functon test(){echo '函数名为:'._FUNCTION_;}  输出  test )

_CLASS_  类名

_TRAIT_  php实现了代码复用的一个方法,称为traits Trait名包括其被声明的作用区域(例如Foo\Bar)

_MENTHOD_   类的方法名,返回该方法被定义时的名字(区分大小写)

_NAMESPACE_ 当前命名空间的名称(区分大小写)


php 命名空间(namespace)作用:

 1.用户编写的代码与php内部的类/函数/常量或第三方类/函数/常量之间的名称冲突。

 2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性

php面向对象:

  在面向对象的程序设计(Object-oriented programming,缩写:oop)中

    对象的行为,对象的形态,对象的表示


static关键字  声明类属性或方法为static(静态),可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(静态方法可以)


php表单验证

   使用PHP验证客户端提交的表单数据得意  名字,email ,网址,备注,性别    submit

名字只能包含字母和空格,email必须是一个有效的电子邮件地址(@ .)   网址  备注 多行输入字段(文本域) 性别必选

表单元素

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

什么是$_SERVER["PHP_SELF"]变量?????

      是超级全局变量,返回当前正在执行的脚本的文件名,与document root相关

所以,$_SERVER["PHP_SELF"]会发送表单数据到当前页面,而不是跳转到不同的页面

什么是htmllspecialchars()方法????

   htmlspecialchars()函数把医学预定义的字符转换为HTML实体,预定义的字符为:

    &(和号) 成为&amp;

    ”(双引号)成为&quot;

  ‘ (单引号)成为&#039;

   <(小于)  成为&lt;

   >(大于) 成为&gt;

文本字段

名字:<input type="text" name="name">

email:<input type="text" name="email">

网址:<input type="text" name="website">

备注:<textarea name="comment" rows="5" cols="40"></textarea>

单选按钮

性别:<input type="radio"name="gender" value="female">女

<input type="radio" name="gender" value="male">男

PHP验证名称

 $name=test_input($_POST["name"]);

if(!preg_match("/^[a-zA-Z]*$/",$name)){

   $nameErr="只允许字母和空格";

}


preg_match   进行正则表达式匹配


PHP验证邮件

$email=test_input($_POST["email"]);

if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){

   $emailErr="非法邮箱格式";

}

PHP验证URL

$website=test_input($_POST["website"]);

if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|]/i",$website)){

   $websiteErr="非法的URL的地址";

}


PHP验证name,emai,URL

<?php

//定义变量并默认设置为空值

$nameErr=  $emailErr= $genderErr= $websiteErr="";

$name= $email= $gender= $ comment= $website="";

if($_server["REQUESR_METHOD"]=="POST"){

    if(empty($_POST["name"])){

         $nameErr="Name is required";

}else{

    $name=test_input($_POST["name"]);

  //检测名字是否只包含字母跟空格

if(!preg_match("/^[a-zA-Z]*$/",$name)){

    $nameErr="只允许字母和空格";

}

}


if(empty($_POST["comment"])){

  $comment="";

}else{

    $comment=test_input($_POST["comment"]);

}

if(empty($_POST["gender"])){

    $genderErr="性别是必须的";

}else{

    $gender=test_input($_POST["gender"]);

}

}

PHP   $_GET  变  量

在PHP中,预定义的$_GET变量用于收集来自method="get"的表单中的值


PHP $_POST 变量

注释:默认情况下,post方法的发送信息的量最大值为8mb(可通过设置php.ini文件中的post_max_size进行更改)

PHP $_REQUEST变量

预定义的$_REQUEST变量包含了$_GET,$_POST,$_COOKIE的内容

$_REQUEST变量可用来收集通过GET和POST方法发送的表单数据


PHP多维数组

  二维数组

  $cars=array(

   array("Volvo",100,96),

   array("BMW",60,59),

  array("Toyota",110,100)

);


<?php

   $sites=array(

     "runoob"=>array("菜鸟教程",“http://www.runoob.com”),

     “google”=>array("google搜索","http://www.google.com")

);

print("<pre>");

print_r($sites);

print("</pre>");

?>

PHP date()函数    用于格式化时间/日期

语法:

String  date(string $format[,int $timestamp])

format   规定时间戳的格式  必须

timestamp   可选  规定时间戳,默认是当前的日期和时间

   d 代表一个月中的天

  m 代表月(01-12)

  Y  代表年(四位数)

echo date("Y/m/d")."<br>";   //2016/10/21


PHP包含文件   include和require语句

include语句和require语句用于在执行流中插入写在其他文件中的有用的代码

   require生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行

  include生成一个警告(E_WARNING),在错误发生后脚本会继续执行


PHP文件处理

fopen()函数用于在PHP中打开文件

代码:$file=fopen("welcome.txt","r");  //r   只读  在 文件的开头开始   r+读写,在文件的开头开始

如果fopen()无法打开指定文件,则返回0(false)


fclose()函数用于关闭打开的文件

检测文件末尾(EOF)

feof()函数检测是否已经到达文件末尾(EOF)

在循环变量未知长度的数据时,feof()函数很有用

<?php

if($_FILES["file"]["error"]>0){

    echo "错误:".$_FILES["file"]["error"]."<br>";

}else{

   echo"上传文件名:".$_FILES["file"]["name"]."<br>";

    echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
    echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];

}

?>


PHP Cookie 用来识别用户    cookie是一种服务器留在用户计算机上的小文件,每当同一台计算机通过浏览器请求页面时,这台计算机将会发送cookie,通过php你能创建并取回cookie的值

如何创建cookie?

setcookie()函数用于设置cookie,注释:setcookie()函数必须位于<html>标签之前

语法:setcookie(name,value,expire,path,domain);

例子:<?pho

  setcookie("user","runoob",time()+3600);//cookie设置在一个小时过期

?>

注释:在发送cookie时,cookie的值会自动进行URL编码,在取回时进行自动解码。(为防止URL编码,请使用setrawcookie()取而代之)

设置cookie过期时间

<?php

  $expire=time()+60*60*24*30;

setcookie("user","runoob",$expire);

?>

<html>


PHP的$_COOKIE变量用于取回cookie的值

 <?php

//输出cookie的值

echo $_COOKIE["user"];

//查看所有cookie

print_r($_COOKIE);

?>

在下面的实例中,我们使用isset()函数来确认是否已设置了cookie

<html>

<head>

<meta charset="utf-8">

<title>设置cookie(runoob.com)</title>

</head>

<body>

<?php

if(isset($_COOKIE["user"]))

   echo"欢迎".$_COOKIE["user"]."!<br>";

else

   echo"普通访客!<br>";

?>

</body>

</html>


如何删除Cookie?

当删除cookie时,你应当使过期时期变更为过期的时间点

<?php

//设置cookie过期时间为过期1小时

setcookie("user","",time()-3600);

?>

PHP Session

session变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置,session变量存储单一用户信息,并且对于应用程序中的所有页面都是可用的

在您把用户信息存储到PHP session中之前,首先必须启动会话。

注释:session_start()函数必须位于<html>标签之前:

<?php session_start();?>

存储session变量   PHP $_SESSION变量

销毁session:(删除某些session数据)   方法:unset()或session_destroy()函数


unset()函数用于释放指定的session变量

实例:

<?php

session_start();

if(isset($_SESSION['views'])){

      unset($_SESSION['views']);

}

?>

session_destroy()彻底销毁session

<?php    session_destroy();?>


今天就先整理到这,明天继续



文章来源: 菜鸟学习php

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:菜鸟学习php