注意:任何程序,包括php,在运行时都在内存中进行,php代码需要被读取到内存中才能执行。

【php的运行方式】

1.通过服务器(例如apache)调用。

2.通过命令行调用(不需要服务器参与,因为没有访问80端口)。

【php的起始和结束符】

<?php

?>

php语句用分号结尾,但是?>可以代替离它最近的一句的分号,原因是常常会有HTML与PHP的混合书写,省略分号,例如:

<input type="text" name="username" value = "<?php echo $user?>" />

这样的一句代码,显示一个用户名输入框,并且输入框的初始值为变量$user的值。

【php的注释】

php的注释和C语言类似,使用//和#都可以注释单行,使用/* */可以注释多行。

php的流行注释标准:PHPDocumentor风格注释。

    /**
* 求和函数
*
* @param $p1 int 被加数
* @param $p2 int 加数
*
* @return int 两数之和
*/
function func1($p1, $p2){
return $p1 + $p2;
}

注意:注释仅影响php代码,而不影响HTML代码(包括纯文本)。

【html的注释中的php代码】

多行注释采用<!- -  - ->,如果在其中嵌套php代码,php代码实际上执行了,但是生成的html被注释掉了,所以不会显示。

Tip:使用注释时一定要注意这一点,不要这样来注释php代码。

【php的变量】

一、概述

1.$name = 'a'; //称变量name引用了值a。一个变量包含名字空间、值空间、引用空间三部分。

引用是指变量名与变量值之间的关系。

Tip:$不是变量名的一部分,只是用来声明后面的是一个变量;变量和函数是可以重名的,使用$时代表变量名,不使用$则作为函数名。

2.php的变量名区分大小写。

3.使用var_dump(<变量>)函数可以输出变量的类型和值。

4.使用unset(<变量>)函数可以删除一个变量,删除变量只是将引用和变量名删除,而不会删除值空间。php有自己的垃圾回收机制,会自动释放没有被引用的值空间。

二、基本语法

值传递:$a = $b; // 值传递是值空间的拷贝。

引用传递:$a = &$b; // 引用传递是引用空间的拷贝,修改a的值同样也会修改b。

【GET与POST】

1.GET:通过请求的URL向服务器发送数据。

语法:脚本名?p1=xx&p2=xx&p3=xx

php获取GET数据:通过_GET数组。

2.POST:一般用于表单的提交。

php获取POST数据:通过_POST数组。

通过向服务器发送数据体来实现。

【简单表单的GET和POST提交】

前端:

<meta charset="UTF-8">
<form action="2.php" method="get">
<input type="text" name="username" />
<input type="text" name="age" />
<button type="submit">提交</button>
<br><br>
<form action="2.php" method="post">
<input type="text" name="username" />
<input type="text" name="age" />
<button type="submit">提交</button>
</form>

后端:

<?php
echo "get:";
var_dump($_GET);
echo "<br>post:";
var_dump($_POST);
?>

Tip:无论是POST还是GET方式,数据都会存在_REQUEST变量中,如果GET和POST同时出现,则_REQUEST中一般保存_POST的值(根据php的配置可以修改_REQUEST保存哪一个,通过php.ini的request_order="GP",GP表示GET在POST前面,因此POST数据可以重写GET数据)。

(一)php的基本知识和一些注意点的更多相关文章

  1. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  2. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  3. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

  4. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  5. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  6. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  7. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

  8. [C#] C# 知识回顾 - 异常介绍

    异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...

  9. [.NET] C# 知识回顾 - Event 事件

    C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...

  10. [.NET] C# 知识回顾 - 事件入门

    C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...

随机推荐

  1. 数据挖掘_requests模块的post方法

    前面已经跟大家讲了requests模块的get方法,这一篇文章我们要介绍的是requests模块中的另一个比较常用的方法,post方法 post方法的形式相比于get要复杂一些,这时因为post在提交 ...

  2. MySQL数据库常用操作入门

    一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.在WEB应用方面,MySQL是最好的RDBMS应用软件.MySQL体积小.速度快.总 ...

  3. ng-book札记——HTTP

    Angular拥有自己的HTTP库,可以用于调用外部API. 在JavaScript世界里有三种方式可以实现异步请求,Callback,Promise与Observable.Angular倾向于使用O ...

  4. 安卓高级6 SnackBar

    引言 文/李牧羊(简书作者) 原文链接:http://www.jianshu.com/p/2654e6bda3b1 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". ...

  5. Programming In Scala笔记-第十六章、Scala中的List

    本章主要分析Scala中List的用法,List上可进行的操作,以及需要注意的地方. 一.List字面量 首先看几个List的示例. val fruit = List("apples&quo ...

  6. Android Studio 中设置代码块自动补齐

    AS中很多提示键,并不如Eclipse中做的好,需要我们自己去自定义.这里以switch...case为例,讲解一下如何设置代码自动补全. 1.进入settings -->  Editor -- ...

  7. Effective Python 中文版

    如题,博主正在翻译一本Python相关的书. 图为Python作者. [美]Brett Slatkin的名作. Effective Python: 59 Specific Ways to Write ...

  8. Leetcode解题-链表(2.2.0)基础类

    1 基类的作用 在开始练习LeetCode链表部分的习题之前,首先创建好一个Solution基类,其作用就是: Ø  规定好每个子Solution都要实现纯虚函数test做测试: Ø  提供了List ...

  9. 无需超级用户mpi多机执行

    在之前的一篇博文中(Linux下mpi环境配置与执行步骤(Ubuntu为例) ),有讨论过如何使用MPI在两个不同的机器上执行程序,在那篇博文中使用了超级用户权限.不幸的是,有些情况下,我们不能拥有操 ...

  10. 3.QT数据库综合案例,模糊查询等操作

     1 新建一个项目: Database01.pro SOURCES += \ main.cpp \ Contact.cpp QT += gui widgets sql CONFIG += C++1 ...