前言:大概在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. java web 学习笔记 - servlet01

    ---恢复内容开始--- 1.Servlet介绍 Servlet 是用java语言编写的服务器端小程序,属于一个CGI程序,但与传统的CGI不同的是,它是多线程实现的,并且可以多平台移植. 用户自定义 ...

  2. POI原生导入读取EXCEL

    好久没用 最近项目有冲突 所以又用到了这个 谁知道以后还会不会用 先记下来吧 直接扔项目里 调方法就OK 了. 记录一下....不想再写类似这样的东西了 import org.apache.poi.h ...

  3. MFC中使用post提交form-data上传文件

    已经有将近6年时间没写过MFC了,想想以前我也是写VC++入门程序开发的,那时候写协议栈.搞语音编码.做视频压缩和实时数据传输,相比现在更多偏业务的开发,那时候搞得都是非常技术的东西.眨眼间,MFC已 ...

  4. Java中文乱码处理

    java编码转换过程 我们总是用一个java类文件和用户进行最直接的交互(输入.输出),这些交互内容包含的文字可能会包含中文.无论这些java类是与数据库交互,还是与前端页面交互,他们的生命周期总是这 ...

  5. freenas iscsi initiator 配置

    1.加载Iscsi Initiator 模块 freebsd从7.0开始已经包含了Iscsi Initiator ,不需要安装后再使用,但在使用前,需要加载模块. # kldload -v iscsi ...

  6. No-8.循环

    01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行代码 分支 —— 根据条件判断,决定执行代码的 分支 循环 —— 让 特定代码 重复 执行 02. while ...

  7. vue列表排序实现中的this问题

    最近在看vue框架的知识,然后其中有个例子中的this的写法让我很疑惑 <!DOCTYPE html> <html> <head> <meta charset ...

  8. 获取url上的参数

    var aa = '?name=hss&age=13';        function strToObj(str){            if(typeof str === 'undefi ...

  9. redis(以php代码为例)

    备注:redis及phpredis扩展安装请查看:PHP典型功能与Laravel5框架开发学习笔记 redis具有原子性,所以在高并发情况下确保数据的一致性 一.连接 $redis = new Red ...

  10. js 技巧 (八)JS代码判断集锦(之二)

    JS代码判断集锦(之二) <INPUT TYPE="button" value="登录"  tabindex="4"> < ...