前言:大概在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. Zed Shaw:程序员的常见健康问题

    Zed Shaw:程序员的常见健康问题 原文作者Zed Shaws是一位作家.软件开发人员.音乐人(下文中提到吉他手),于2010年发布<Learn Python The Hard Way> ...

  2. Java入门第39课——猜字母游戏之实现字母生成方法

    问题        实现猜字母游戏中的字母生成方法,即,随机生成5个不同的字母作为猜测的结果. 方案        实现generate方法,首先声明一个字符类型的数组,用于存储26个大写字母,然后声 ...

  3. controller,sevices层,java初步了解

    一.controller层 二.service层 1.接口 2.接口的实现 转换 ClearingAccountArgument对象

  4. pip install MySQL-python error "can't open config-win.h"

    http://blog.csdn.net/xxm524/article/details/48754139

  5. 用1天快速上手org-mode(windows系统)

    Table of Contents 1. 选择Emacs的理由--Org-mode 1.1. 现状(基于本人现有软件的使用) 1.2. 理念(够用才好) 1.3. 学习过程(少走弯路) 2. 快速安装 ...

  6. python 3 廖雪峰博客笔记(三) 命令行模式与交互模式

    python 的代码一般保存为 .py结尾的文本文件格式 比如 add.py 里写下如下内容 100 + 200 执行 add.py有两种方式: 1. 命令行方式:将python代码写入脚本中执行 p ...

  7. 使用ajax解析后台json数据时:Unexpected token o in JSON at position 1

    json数据解析异常 今天在做json数据的时候,出现了如下错误,说是解析异常. VM1584:1 Uncaught SyntaxError: Unexpected token o in JSON a ...

  8. ORM之连表操作

    ORM之连表操作 -----------------------------连表的正向操作------------------------- 在models.py中创建两张表UserType和User ...

  9. 第十六节:Scrapy爬虫框架之项目创建spider文件数据爬取

    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取所设计的, 也可以应用在获取API所返回的数据或 ...

  10. MQL5备忘(2016-8-28)

    MQL5备忘 快捷操作: ·Ctrl+Space------The List Names dropdown ·Ctrl+Shift+Space------Show Parameter Info 整数类 ...