php入门(一)
一,在HTML中嵌入php代码
先看html的代码:
<form action="processorder.php" method="post">
<table>
<tr bgcolor="#cccccc">
<td width="">Item</td>
<td width="">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="" maxlength="" /></td>
</tr>
<tr>
<td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="" maxlength="" /></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="" maxlength="" /></td>
</tr>
<tr>
<td colspan="" align="center"><input type="submit" value="Submit Order" /></td>
</tr>
</table>
</form>
下面是在html中嵌入php代码:
<?php
// create short variable names, also can use '$_REQUEST['name']'
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?> <!DOCTYPE html>
<html>
<head>
<title>Bob 's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob 's Auto Parts</h1>
<h2>Order Results</h2>
<?php
echo "<p>Order processed at ";
echo date('H:i, jS F Y')."</p>";
echo "<p>Your order is as follows: </p>";
echo "$tireqty tires<br />";
echo $oilqty.' bottles of oil<br />';
echo $sparkqty." spark plugs<br />"
?>
---------------------------------------------------<br />
<?php
$testHeredoc = <<< EOF
line 1
line 2
line 3
EOF;
echo "$testHeredoc"."<br />";
?>
---------------------------------------------------<br />
<?php
echo "About Comment:";
//Here is a comment.
#Here is a comment too.
/*
Here is multi line comment.
Here is multi line comment.
*/
?>
</body>
</html>
1.在html中嵌入php代码的语法格式为:
<?php
?>
需要注意的是开始符号“<?php”中间不能有空格。
2. post方法提交的表单内容可以通过php的“$_POST[]”数组按照name获取, 也可以通过“$_REQUEST[]”数组获取。这些数组为超级全局变量。
关于数组和变量作用域之后会详解讲解。
当要获取变量的时候用$符号来获取!
<?php
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?>
3. 字符串可以用单引号也可以使用双引号引起来。 也可以用反单引号引起来(反单引号在键盘最左上角,与~是一个键)。
三种引号作用不同:
- 单引号内的字符串将被当作纯文本原样输出;''
- 双引号中如果有变量,则会替换成变量的值然后输出文本;有点像c语言中的print();“”
- 反单引号被叫做执行符,php解析器会先执行反单引号中的内容,将执行之后的结果返回。``
4. 字符串可以使用点号“.”连接在一起。在php中点号是唯一的字符串连接符,相当于java中的“+”。
<?php
echo "<p>Order processed at ";
echo date('H:i, jS F Y')."</p>";
echo "<p>Your order is as follows: </p>";
echo "$tireqty tires<br />";
echo $oilqty.' bottles of oil<br />';
echo $sparkqty." spark plugs<br />"
?>
date('H:i, jS F Y') php通过这样的方式显示日期
08:25, 7th July 2008
在这里H 是小时,i是分钟,(小时和分钟是补0的)j是该月的日期后面的S事顺序后缀在这里是th F是月份的全称
注意:
echo "$tireqty tires<br />";
和
echo $oilqty.' bottles of oil<br />';是等价的
对于简单的变量可以将变量写入到由双引号引起来的字符串中 插值
5. php中有三种注释方式:分别为
单行注释“//” 或者 像shell一样的单行注释“#”;
多行注释“/**/”。
6.php中所有的变量使用时都是以“$”打头的(变量的使用获取变量的值), 并且变量使用时不需要提前声明。 而且变量的类型也可以随时改变,
这取决于赋值给变量的值的类型。php变量的类型是在每一次赋值时确定和改变的。
7.指定字符串的方法
<?php
$testHeredoc = <<< EOF
line 1
line 2
line 3
EOF;
echo "$testHeredoc"."<br />";
?>
也可以用theEnd 用来指定结束标记
echo <<<theEnd
line 1
line 2
line 3
theEnd
二.数据类型:
可以查看官方手册:http://php.net/manual/zh/language.types.php
四种标量类型:(标量类型即为基本类型,不是类类型)
- boolean(布尔型)
- integer(整型) 用来表示所有实数
- float(浮点型,也称作 double) (php中没有单精度和双精度之分)
- string(字符串) (字符串类型在PHP中属于标量类型,在Java中属于类类型)
两种复合类型:
- array(数组)
- object(对象) --用来保存类的实例
最后是两种特殊类型:
- resource(资源)-- 数据库函数返回这个类型的变量
- NULL(无类型)
变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。
<?php
不用声明数据类型
$a_bool = TRUE; // a boolean
$a_str = "foo"; // a string
$a_str2 = 'foo'; // a string
$an_int = 12; // an integer
$a_float = 3.14; // a float(double) echo gettype($a_bool)."<br>"; // prints out: boolean
- 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype() 函数。
- 要查看某个类型,不要用 gettype(),而用 is_type 函数。
echo gettype($a_str)."<br>"; // prints out: string
echo gettype($an_int)."<br>"; // prints out: integer
echo gettype($a_float)."<br>"; // prints out: double // If this is an integer, increment it by four
if (is_int($an_int)) {
echo "an_int = ".$an_int."<br>";
$an_int += 4;
echo "an_int = ".$an_int."<br>";
} // If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_str)) {
echo "String: $a_str"."<br>";
} echo var_dump($a_float, $a_bool, $a_str, $an_int); //如果想查看某个表达式的值和类型,用 var_dump() 函数。
?>
输出:
boolean
string
integer
double
an_int = 12
an_int = 16
String: foo
float(3.14) bool(true) string(3) "foo" int(16)
三 使用常量 没有$号,变量才有$
define('TIREPRICE', 100);
define('OILPRICE', 10);
define('SPARKPRICE', 4);
这是php中定义常量的一种方法,这里定义了值为100的TIREPRICE常量、值为10的OILPRICE常量和值为4的SPARKPRICE常量。
2.变量的作用域:
global
static
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
否则以下的y值不会输出,这时候需要加global,以下的作用域是local
和c一样因为y存在栈里,所以{}就会消失
<?php
$x=5; // 全局变量 function myTest()
{
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
} myTest(); echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>
global:在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
<?php
$x=5;
$y=10; function myTest()
{
global $x,$y;
$y=$x+$y;
} myTest();
echo $y; // 输出 15
?>
static:每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
<?php function myTest()
{
static $x=0;
echo $x;
$x++;
} myTest();
myTest();
myTest();
?> 输出结果为012
static不会因为函数消失而消失
输出:
PHP 数组
数组可以在一个变量中存储多个值。
在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:
<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
输出:
array(3) {
[0]=>
string(5) "Volvo"
[1]=>
string(3) "BMW"
[2]=>
string(6) "Toyota"
}
设置 PHP 常量
常量是全局的
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
?php
define("GREETING", "欢迎访问 Runoob.com"); function myTest() {
echo GREETING;
} myTest(); // 输出 "欢迎访问 Runoob.com"
?>
php入门(一)的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- intel EPT 机制详解
2016-11-08 在虚拟化环境下,intel CPU在处理器级别加入了对内存虚拟化的支持.即扩展页表EPT,而AMD也有类似的成为NPT.在此之前,内存虚拟化使用的一个重要技术为影子页表. 背景: ...
- (3.9)常用知识-标识值(identity)的不连续与强行插入、计算列
概念:标识值 identity(begin,add_number) 是一种特殊的值,依赖于列,由sql server自动维护,是自增的,而且一般是不会重复的.但是sql server并不维护标识(id ...
- 360UI 界面框架 即QUI框架与EXT比较
EXTJS框架是非常全面和成熟的,这是因为它发展的年头久远,并且有全世界的EXTJS爱好者为其出谋献策,它的组件库尤其是DataGrid组件无人能出其右.我在最初也考虑过使用EXTJS来做项目,学习了 ...
- 使用php来操作EXCEL文件
最近,刚过完年,部门想要统计一下去年部门的各种各样的一些数据,因此有一些EXCEL表格中的数据统计难以实现,需要借助程序来完成复杂的数据统计,因此自己最近也了解 了一下关于php操作excel的一些东 ...
- C# 使用 Windows API 发送文件到打印机
最近需要做一个打印的功能,于是在网上找到了这么一个方法. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public cl ...
- 树莓派搭建Git服务器
目录 安装ssh 安装git-core 新增git用户 设置git用户目录 [服务端]设置git仓库 [客户端]设置git仓库 设置ssh登录 安装ssh sudo apt-get install s ...
- Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头
[1]去Apache官网下载 Binaries系列的最新Jmeter.gz包 [2]下载到本地之后解压缩,进入到解压之后的目录然后,找到apache-jmeter-4.0/bin/jmeter.sh ...
- Java设计原则—依赖倒置原则(转)
依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义: 高层模块不应该依赖底层模块,两者都应该依赖其抽象: 抽象不应该依赖细节: 细节应该依赖抽象. 依赖倒置 ...
- URAL - 1091 Tmutarakan Exams (简单容斥原理)
题意:K个不同数组成的集合,每个数都不超过S且它们的gcd>1.求这样的数的个数 分析:从2开始枚举gcd,但这样会发生重复.譬如,枚举gcd=2的集合个数和gcd=3的集合个数,枚举6的时候就 ...
- DOM—节点
节点的相关属性 1.nodeType:节点类型.返回的是一个数字,这个数字代表节点类型,只读. 节点类型: 1 — 元素类型:元素节点(标签) 节点类型: 2 — 元素类型:属性节点 节点类型: 3 ...