注意:任何程序,包括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. fireBug引入JQuery,方便书写jq调试代码

    在控制台执行下段代码,等到网络中加载完成后,即可正常运行jq代码.也可以根据需要进行修改引入其他js代码. javascript:(function(url) { var s = document.c ...

  2. ubuntu 修改计算机名

    ubuntu装好系统之后打开终端,命令行前边会有一长串名字,看起来好烦(格式为:用户名@计算机名:~$),所以改计算机名: 需要改两个文件: sudo gedit /etc/hostname sudo ...

  3. 【python标准库模块五】Xml模块学习

    Xml模块 xml本身是一种格式规范,是一种包含了数据以及数据说明的文本格式规范.在json没有兴起之前各行各业进行数据交换的时候用的就是这个.目前在金融行业也在广泛在运用. 举个简单的例子,xml是 ...

  4. Django URL (路由系统)

    URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那 ...

  5. 疯狂的Django 之深度外键跨表查找之疯狂INNER JOIN

    定义Model: from django.db import models class Moreinfo(models.Model): weight = models.FloatField() hei ...

  6. 豌豆夹Redis解决方案Codis源码剖析:Proxy代理

    豌豆夹Redis解决方案Codis源码剖析:Proxy代理 1.预备知识 1.1 Codis Codis就不详细说了,摘抄一下GitHub上的一些项目描述: Codis is a proxy base ...

  7. Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...

  8. python模块collections中namedtuple()的理解

    Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型.相比与list,tuple中的元素不可修改,在映射中可以当键使用.tuple元组的item只能通过index ...

  9. 剑指Offer——知识点储备-常用算法

    剑指Offer--知识点储备-常用算法 快速排序 注:若排序是有序的,采用快排,则退化为冒泡排序. 解决这个问题,采用两个选取基准的方法 (1)随机选取基数(在这个区间内随机取一个数) 出现的恶劣情况 ...

  10. iOS学习笔记--Quartz2D

    Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统. Quartz 2D能完成的工作: 1. 绘制图形 : 线条\三角形\矩形\圆\弧等 2. 绘制文字 3. 绘制\生成图片(图像) 4 ...