前言:大概在2006年的时候,学习过一段时间的php。而且当时做了一个下载的站点,后来因为读研究生阶段用的是java、j2ee相关,所以php就搁浅掉了,php这些年也发生了非常大的变化,最大一个变化是支持面向对象了。

如今因为须要php做些东西,再次学习,从头開始!

Local和Global作用域:
函数之外声明的变量拥有global作用域。仅仅能在函数之外訪问

PHP globalkeyword
globalkeyword用与訪问函数外的全局变量
<?

php

$x=5;
$y=10;

function myTest()
{
    global $x,$y;
    $y=$x+$y;
}

myTest();
echo $y;
?>

PHP同一时候在名为$GLOBALS[index]的数组中存储了全部的全局变量。

下标存为变量名,这个数组在函数内也可以訪问,而且可以用于直接更新全局变量。


上面的样例能够重写为:
<?

php

$x=5;
$y=10;

function myTest()
{
     $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}

myTest();
echo $y;

?>

echo 和 print 之间的差异:

  • echo - 可以输出一个以上的字符串
  • print - 仅仅能输出一个字符串。并始终返回 1

var_dump()函数会返回变量的数据类型和值。

设置 PHP 常量

如需设置常量。请使用 define() 函数 - 它使用三个參数:

  1. 首个參数定义常量的名称
  2. 第二个參数定义常量的值
  3. 可选的第三个參数规定常量名是否对大写和小写敏感。默认是 false。
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
常量输出不用带$

运算符 名称 样例 结果
== 等于 $x == $y 假设 $x 等于 $y,则返回 true。

=== 全等(全然同样) $x === $y 假设 $x 等于 $y,且它们类型同样,则返回 true。

!= 不等于 $x != $y 假设 $x 不等于 $y,则返回 true。

<> 不等于 $x <> $y 假设 $x 不等于 $y。则返回 true。
!== 不全等(全然不同) $x !== $y 假设 $x 不等于 $y,且它们类型不同样,则返回 true。
> 大于 $x > $y 假设 $x 大于 $y,则返回 true。
< 大于 $x < $y 假设 $x 小于 $y,则返回 true。
>= 大于或等于 $x >= $y 假设 $x 大于或者等于 $y,则返回 true.
<= 小于或等于 $x <= $y 假设 $x 小于或者等于 $y,则返回 true。

数组:
#array

$car=array("Volvo","BWM","Jeep");

var_dump($car);


结果:
array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BWM" [2]=> string(4) "Jeep" }


foreach:

Syntax

foreach ($array as $value) {

  code to be executed;

}

Example

<?

php 

$colors = array("red","green","blue","yellow"); 



foreach ($colors as $value) {

  echo "$value <br>";

}

?

>


PHP Global Variables - Superglobals

Several predefined variables in PHP are "superglobals", which means that they are always accessible, regardless of scope - and you can access them from any function, class or file without having to do anything special.

The PHP superglobal variables are:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST     
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
 $_SERVER['HTTP_REFERER']:
HTTP Referer是header的一部分,当浏览器向webserver发送请求的时候。通常会带上Referer。告诉server我是从哪个页面链接过来的,server籍此能够获得一些信息用于处理。


Element/Code Description
$_SERVER['PHP_SELF'] Returns the filename of the currently executing script
$_SERVER['GATEWAY_INTERFACE'] Returns the version of the Common Gateway Interface (CGI) the server is using
$_SERVER['SERVER_ADDR'] Returns the IP address of the host server
$_SERVER['SERVER_NAME'] Returns the name of the host server (such as www.w3schools.com)
$_SERVER['SERVER_SOFTWARE'] Returns the server identification string (such as Apache/2.2.24)
$_SERVER['SERVER_PROTOCOL'] Returns the name and revision of the information protocol (such as HTTP/1.1)
$_SERVER['REQUEST_METHOD'] Returns the request method used to access the page (such as POST)
$_SERVER['REQUEST_TIME'] Returns the timestamp of the start of the request (such as 1377687496)
$_SERVER['QUERY_STRING'] Returns the query string if the page is accessed via a query string
$_SERVER['HTTP_ACCEPT'] Returns the Accept header from the current request
$_SERVER['HTTP_ACCEPT_CHARSET'] Returns the Accept_Charset header from the current request (such as utf-8,ISO-8859-1)
$_SERVER['HTTP_HOST'] Returns the Host header from the current request
$_SERVER['HTTP_REFERER'] Returns the complete URL of the current page (not reliable because not all user-agents support it)
$_SERVER['HTTPS'] Is the script queried through a secure HTTP protocol
$_SERVER['REMOTE_ADDR'] Returns the IP address from where the user is viewing the current page
$_SERVER['REMOTE_HOST'] Returns the Host name from where the user is viewing the current page
$_SERVER['REMOTE_PORT'] Returns the port being used on the user's machine to communicate with the web server
$_SERVER['SCRIPT_FILENAME'] Returns the absolute pathname of the currently executing script
$_SERVER['SERVER_ADMIN'] Returns the value given to the SERVER_ADMIN directive in the web server configuration file (if your script runs on a virtual host, it will be the value defined for that virtual host) (such as someone@w3schools.com)
$_SERVER['SERVER_PORT'] Returns the port on the server machine being used by the web server for communication (such as 80)
$_SERVER['SERVER_SIGNATURE'] Returns the server version and virtual host name which are added to server-generated pages
$_SERVER['PATH_TRANSLATED'] Returns the file system based path to the current script
$_SERVER['SCRIPT_NAME'] Returns the path of the current script
$_SERVER['SCRIPT_URI'] Returns the URI of the current page


PHP $_REQUEST

PHP $_REQUEST is used to collect
data after submitting an HTML form.

Example

<html>

<body>



<form method="post" action="<?

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

Name: <input type="text" name="fname">

<input type="submit">

</form>



<?php 

$name = $_REQUEST['fname']; 

echo $name; 

?>



</body>

</html>


PHP $_POST

PHP $_POST is widely used to collect form data after submitting an HTML form with method="post". $_POST is also widely used to pass variables.

Example

<html>

<body>



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

Name: <input type="text" name="fname">

<input type="submit">

</form>



<?php 

$name = $_POST['fname']; 

echo $name; 

?>



</body>

</html>

htmlspecialchars

实际应用中,这个过滤无效?


php正則表達式:
“+”, “*”,以及 “?”。当中。
“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次,
“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次,
“?

”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

/jim{2,6}/

上述正則表達式规定字符m能够在匹配对象中连续出现2-6次,

\s:用于匹配单个空格符。包含tab键和换行符;

\S:用于匹配除单个空格符之外的全部字符;

\d:用于匹配从0到9的数字。

\w:用于匹配字母,数字或下划线字符

\W:用于匹配全部与\w不匹配的字符;

. :用于匹配除换行符之外的全部字符。

\b定位符规定匹配模式必须出如今目标字符串的开头或结尾的两个边界之中的一个
“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

/\bbom/

由于上述正則表達式模式以“\b”定位符开头。所以能够与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。

/man\b/

由于上述正則表達式模式以“\b”定位符结尾。所以能够与目标对象中以 “human”, “woman”或 “man”结尾的字符串相匹配。



/([a-z][A-Z][0-9])+/
“()”符号包括的内容必须同一时候出如今目标对象中。

/[^A-C]/
^代表否定

[php learn] php 从头開始学习1的更多相关文章

  1. wxWidgets刚開始学习的人导引(4)——wxWidgets学习资料及利用方法指导

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...

  2. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...

  3. 開始学习swift开发

    近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.

  4. wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets

    wxWidgets刚開始学习的人导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxS ...

  5. 刚開始学习的人制作VMOS场效应管小功放

    VMOS场效应管既有电子管的长处又有晶体管的长处,用它制作的功率放大器声音醇厚.甜美,动态范围大.频率响应好.因此近年来在音响设备中得到了广泛应用. 大功率的场效应管功率放大器.电.路比較复杂.制作和 ...

  6. wxWidgets刚開始学习的人导引(1)——前言

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...

  7. 開始学习swift,资料汇总帖

    最近開始学习swift,以后mac和ios开发就指望它,曾经学oc半途而废了.主要原因是oc等语法实在能适应,如今有swift了.语法有js,scala,python,c++,oc等语言的影子,又一次 ...

  8. AndroidStudio刚開始学习的人

    看到谷歌宣布Android Studio将代替Eclipse. 自从7月25日開始我就開始学习使用AS,由于看到谷歌公司公布的说为了简化Android的开发力度,Google决定将重点建设Androi ...

  9. 怎样開始学习ADF和Jdeveroper 11g

    先给一些资料能够帮助刚開始学习的人開始学习ADF和Jdeveloper11g 1.首先毫无疑问,你要懂java语言. 能够看看Thinking In Java, 或者原来sun的网上的一些文档Sun' ...

随机推荐

  1. [Windows Server 2012] 阿里云镜像购买和使用方法

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将演示:阿里云镜像购买 ...

  2. js添加千位分隔符

    function thousandBitSeparator(num){ var re=/\d{1,3}(?=(\d{3})+$)/g; var n1=num.toString().replace(/^ ...

  3. js 脚本语言

    字符串转换为数字 parseInt(string) .parseFloat().Number() 参考博客:https://zhidao.baidu.com/question/629898532158 ...

  4. 修改mysql数据默认存储路径

    1:停止mysql服务 2:找到配置文件路径 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini 3:修改属性datadir 1.将C:/ProgramData/ ...

  5. shell learning note

      shell learning note MAIN="/usr/local/" # 变量大写 STATUS="$MAIN/status" # 美元符加字符串是 ...

  6. Spring Boot . 3 -- Spring Boot Auto_configuration 是如何实现的?

    配置是Spring 框架的重要核心之一,所以Spring 应用能够正常的跑起来肯定是需要配置的,但是使用的Spring Boot 后很多配置没有做,那么AUTO-CONFIGURATION 到底是怎么 ...

  7. pytorch: Variable detach 与 detach_

    pytorch 的 Variable 对象中有两个方法,detach和 detach_ 本文主要介绍这两个方法的效果和 能用这两个方法干什么. detach 官方文档中,对这个方法是这么介绍的. 返回 ...

  8. 专题训练——[kuangbin带你飞]最短路练习

    最短路练习 0. Til the Cows Come Home  POJ - 2387 完美的模板题 //#include<Windows.h> #include<iostream& ...

  9. 21反射、动态代理、枚举、Filter

    2018/10/08 1.反射 Constructor Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数, 就不能这样创建了,可以调用Cla ...

  10. 洛谷——P3907 圈的异或

    P3907 圈的异或 无向图$dfs$找环,并判断边权异或和是否为0 #include<iostream> #include<cstdio> #include<algor ...