注意:任何程序,包括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. 一口一口吃掉Hibernate(七)——继承映射

    前几篇博文中讲到了常用的几种关联映射.其实hibernate中还有一种"省劲儿"的映射,那就是--"继承映射". 学了这么多的关系映射了,继承映射,从字面上也能 ...

  2. C/C++知识大纲(只有作者看得懂的笔记)

    c标准库部分冷门函数. stdio.h char buf[256]; sscanf(buf,"%s",&buf); sprintf(buf,"Name: %s&q ...

  3. 使用Boost program_options控制程序输入

    简介 很多人使用界面来输入数据,本文的程序介绍如何使用Boost的program_options控制输入. 程序中使用了: 1. 短选项 2. 可以指定多个参数的选项 程序 #include < ...

  4. SQL Server AlwaysON从入门到进阶(3)——基础架构

    本文属于SQL Server AlwaysON从入门到进阶系列文章 前言: 本文将更加深入地讲解WSFC所需的核心组件.由于AlwaysOn和FCI都需要基于WSFC之上,因此我们首先要了解在Wind ...

  5. hive分区partition(动态和静态分区混合使用; partition的简介)

    分区是hive存放数据的一种方式.将列值作为目录来存放数据,就是一个分区.这样where中给出列值时,只需根据列值直接扫描对应目录下的数据,不扫面其他不关心的分区,快速定位,查询节省大量时间.分动态和 ...

  6. 转:LINUX/UNIX下的回车换行与WINDOWS下的区别

      今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 3 ...

  7. Linux 高性能服务器编程——Linux网络编程基础API

    问题聚焦:     这节介绍的不仅是网络编程的几个API     更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系.     这节主要介绍三个方面的内容:套接字(so ...

  8. [linux RedHat]windows下使用putty远程连接linux 下载JDK和tomcat

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/43154543 本文作者:sushengmiyan ------------------ ...

  9. Eclipse打jar包,资源文件的读取

    最近的工作中需要将java程序打一个jar包,然后在Linux中供调用.程序中需要读取一个配置文件.遇到了三个问题.第一个是依赖的第三方Jar包打成Jar包后找不到:第二个问题是资源文件所在的文件夹打 ...

  10. 自定义圆角透明的Dialog

    自定义圆角透明的Dialog 说明 系统默认的Dialog默认是背景不透明的,有时候项目需要Dialog为圆角透明,这个时候的解决方案就是---重写Dialog - 系统样式 - 自定义以后的样式 自 ...