注意:任何程序,包括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. Java 并发编程——Executor框架和线程池原理

    Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务 ...

  2. centos gnome面板菜单任务栏消失后的解决

    今天终于下决心把我的电脑装成了centos,上网的时候感觉上边的那一行菜单栏碍事儿,就把他给删了 就是桌面最顶上这一行东西,然后百度无果,谷歌上不去,用bing好不容易才找到里解决方案! 症状:进入l ...

  3. 深入浅出低功耗蓝牙(BLE)协议栈

    深入浅出低功耗蓝牙(BLE)协议栈 BLE协议栈为什么要分层?怎么理解蓝牙"连接"?如果蓝牙协议只有ATT没有GATT会发生什么? 协议栈框架 一般而言,我们把某个协议的实现代码称 ...

  4. Python笔记十一(迭代器)

    这里我们要学会Iterable和Iterator. 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的generator f ...

  5. MongoDB Limit与Skip方法

    MongoDB Limit() 方法 如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的 ...

  6. Dockerfile的指令

    指令的一般格式为 INSTRUCTION arguments,指令包括 FROM.MAINTAINER.RUN 等. FROM 格式为 FROM <image>或FROM <imag ...

  7. JavaScript 错误处理 Throw、Try 和 Catch

    try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. JavaScript 错误 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错 ...

  8. springMVC源码分析--RequestParamMethodArgumentResolver参数解析器(三)

    之前两篇博客springMVC源码分析--HandlerMethodArgumentResolver参数解析器(一)和springMVC源码解析--HandlerMethodArgumentResol ...

  9. ZooKeeper之(五)集群管理

    在一台机器上运营一个ZooKeeper实例,称之为单机(Standalone)模式.单机模式有个致命的缺陷,一旦唯一的实例挂了,依赖ZooKeeper的应用全得完蛋. 实际应用当中,一般都是采用集群模 ...

  10. Mybatis源码分析--关联表查询及延迟加载(一)

    Mybatis提供了关联查询映射的功能. 一.一对一关联