php学习笔记1

1Php的开头和结尾

PHP 脚本以 <?php 开头,以 ?> 结尾:

2、PHP中输出:(echoprint,在使用时带不带括号均可,如echo(“Hello Word”))

echoprint区别:

echo能输出1个以上的字符串

Print只能输出一个字符串

echo在页面上输出文字  如 echo "Hello World!" 

 var_dump()能输出数据类型和值

3、注释:

<!DOCTYPE html>

<html>

<body>

<?php

// 这是单行注释

# 这也是单行注释

/*

这是多行注释块

它横跨了

多行

*/

?>

</body>

</html>

4、 PHP 中,所有用户定义的函数、类和关键词(例如 ifelseecho 等等)都对大小写不敏感

5、 PHP 中,所有变量都对大小写敏感

6PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z0-9 以及 _
  • 变量名称对大小写敏感($y $Y 是两个不同的变量)

 $X,$Y表示变量X和变量Y

7PHP 有三种不同的变量作用域:

  • local(局部js中的私有作用域
  • global(全局js中的全局作用域
  • static(静态)

正常情况下,私有变量只能在私有作用域中使用,全局变量只能在全局作用域下使用,函数内容不能直接使用全局变量

8、PHP global 关键词(global 关键词用于访问函数内的全局变量

即私有作用域中,在变量前加global关键字即可使用全局变量,如global $x,$y;表示全局变量xy,这时在私有作用域下就可使用全局变量xy的值

9、PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。index表示变量名

如:$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];(即全局变量y=全局变量x+全局变量y

10、PHP中当函数执行完成后,会删除所有变量。如果有时不想删除某个变量,则可在创建变量时使用static关键字,如:static $x=0;

11、计算字符串的长度  strlen(str)  如字符串中包含空格,则空格也算字符

12、检索字符串中某个字符的索引位置,用strpos 如:strpos(“xia tian lai le”,”tian”)

13、定义常量用define(a,b,c)

define中有三个参数:a表示常量名称

 b表示常量值

 c表示是否对大小写敏感,默认是falsetrue表示对大小写不敏感

这里所说的对大小写敏感是针对常量名称而言,如常量名称是NAME,当c的值为false的时候,输出name,也不会打印出常量值,如c的值为true,则可以打印出常量值。

14、建数组

a) $ary=ary(“str1”,”str2”,”str3”);

b) $ary=ary(“a”=>”red”,”b”=>”green”);表示a的值是red b的值是green

输出数组的值用var_dump($ary);

根据索引输出数组中的值,如 $ary[0],$ary[1],$ary[2]

关联数组:

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

echo “$age[Joe]” 输出43

15、count()

输出数组中元素的个数,如count($ary)

16do  while循环(do while循环至少会执行一次,首先是执行do里边的内容,然后当while中的条件成立时会再次执行do里的内容)

do{

}while(){

}

17foreach循环

$ary=array(“a”,”b”,”c”);

foreach($ary as $value){
echo$value<br>”

}
$ary1=array("a"=>"red","b"=>"blue","c"=>"green","d"=>"yellow");
foreach ($ary1 as $x=>$x_value){
        echo "value=$x_value<br>";
}

18、form标签中的action用于存放接受表单数据的路径

指定文件本身来处理表单数据action的路径为

action="<?php echo $_SERVER['PHP_SELF'];?>"

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

如:$name = $_REQUEST['fname']; 即获取name值为fname的表单值

echo $name;

20、$_POST用于methodpost方式提交的表单数据

如:$name = $_POST['fname']; 即获取name值为fname的表单值

21、$_GET用于methodget方式提交的表单数据

如:$name = $_GET['fname']; 即获取name值为fname的表单值

22、格式化表单内容

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

if ($_SERVER["REQUEST_METHOD"] == "POST") {

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

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

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

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

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

}

function test_input($data) {

  $data = trim($data);//去掉多余的字符(空格、制表符、换行符等)

  $data = stripslashes($data);//去掉用户输入内容中的反斜杠

  $data = htmlspecialchars($data);//把特殊字符转换为html实体

  return $data;

}

23、表单验证

24preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false

<?php
$name=$email=$nameError=$emailError="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if(empty($_POST["name"])){
        $nameError="name是必填的";
    }else{
        $name=test_input($_POST["name"]);

        if(!preg_match("/^[a-zA-z ]*$/",$name)){
        $nameError="name只能是字母或空格";
}


    }
    if(empty($_POST["email"])){
        $emailError="email为必填";
    }else{
        $email=test_input($_POST["email"]);

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

// if (!preg_match("/(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%

    =~_|]/i",$website))检测url
          $emailError = "无效的 email 格式!";
       }


    }
}
function test_input($data){
    $data=trim($data);
    $data=stripslashes($data);
    $data=htmlspecialchars($data);
    return $data;
}
?>
<form method="post" class="form1" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    Name: <input type="text" name="name"><span class="error"><?php echo $nameError;?></span><br>
    E-mail: <input type="text" name="email"><span class="error"><?php echo $emailError;?></span><br>
    <div class="btn" style=" 100px;height:30px;line-height: 28px;border-radius:5px;border:1px solid #ccc;text-align: center;">提交</div>
    <input type="submit">
</form>

25、数据库连接

Mysql_connect(servername,username,password)

三个参数均是可选的,servername是服务器名称,默认为localhost:3306
$con=mysql_connect(“localhost”,”dong”,”123abc”);

If(!$con){

die(“counld not connect ” .mysql_error());

}

26、脚本一结束就会关闭连接,如需提前关闭数据库连接,用mysql_close()

    如:mysql_close($con)

27、echo $m1 = memory_get_usage(); //memory_get_usage()获取当前PHP消耗的内存

原文地址:https://www.cnblogs.com/dongxiaolei/p/6911720.html