注意:任何程序,包括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. Servlet 执行流程 生命周期 ServletConfig 线程安全

    Day34 servlet 三.如何使用Servlet 1.继承GenericServlet类(通用) (1)GenericServlet类有一个关键的设计,定义了一个私有的ServletConfig ...

  2. Ubuntu 搭建 GlusterFS 过程笔记

    https://download.gluster.org/pub/gluster/ #要安装的东西 ---- ``` apt install -y build-essential gcc make c ...

  3. js动态加载js css文件,可以配置文件后辍,防止浏览器缓存

    js的引用,在浏览器,或微信上访问经常会遇到文件改了,但就是没有更新的问题,使用此函数可以轻松解决缓存问题只需要把js的引用方式改为使用此函数加载即可 源码如下: /** * js动态加载js css ...

  4. 关于Application_End 与 Application_Start事件触发情况的测试(待续)

    测试项目搭建 定义一个简单的Mvc项目,有如下文件: (1) public class Startup { public void Configuration(IAppBuilder app) { a ...

  5. dict的操作和三级菜单

    dict的基本操作 # Author:nadech info = { "stu001":"sjp", "stu002":"cxx& ...

  6. 第一次作业:基于Linux操作系统深入源码进程模型分析

    1.Linux操作系统的简易介绍 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使 ...

  7. python通过token登录,并爬取数据实例

    from bs4 import BeautifulSoup import requests class Zabbix(object): def __init__(self, headers): sel ...

  8. About Windows 10 April 2018 Update

    在四月的最后一天,微软终于正式发布了 Windows 10 的又一次重大更新,并命名为 Windows 10 四月更新,轮压哨,我软确实谁也不服:再晚一天,我软改名部门恐怕又要发挥作用了,毕竟我软存在 ...

  9. [Gradle系列]Gradle发布module库到jCenter, 并构建自己的企业Maven私服

    Tamic 作者: http://blog.csdn.net/sk719887916/article/details/53224544 前言 andorid开发者经常会看到xx公司发布了xx项目,xx ...

  10. Dynamics CRM2016 Web API之通过实体的primary key查询记录(二)

    继续接上篇,还是通过primary key来查询数据,本篇介绍两个我个人比较喜欢的查询方式,一个是查询单个字段,一个是查询lookup关联实体中的属性字段. 先来看如何查询单个字段,只需要在url的最 ...