一,在HTML中嵌入php代码

先看html的代码:

  1. <form action="processorder.php" method="post">
  2. <table>
  3. <tr bgcolor="#cccccc">
  4. <td width="">Item</td>
  5. <td width="">Quantity</td>
  6. </tr>
  7. <tr>
  8. <td>Tires</td>
  9. <td align="center"><input type="text" name="tireqty" size="" maxlength="" /></td>
  10. </tr>
  11. <tr>
  12. <td>Oil</td>
  13. <td align="center"><input type="text" name="oilqty" size="" maxlength="" /></td>
  14. </tr>
  15. <tr>
  16. <td>Spark Plugs</td>
  17. <td align="center"><input type="text" name="sparkqty" size="" maxlength="" /></td>
  18. </tr>
  19. <tr>
  20. <td colspan="" align="center"><input type="submit" value="Submit Order" /></td>
  21. </tr>
  22. </table>
  23. </form>

下面是在html中嵌入php代码:

  1. <?php
  2. // create short variable names, also can use '$_REQUEST['name']'
  3. $tireqty = $_POST['tireqty'];
  4. $oilqty = $_POST['oilqty'];
  5. $sparkqty = $_POST['sparkqty'];
  6. ?>
  7.  
  8. <!DOCTYPE html>
  9. <html>
  10. <head>
  11. <title>Bob 's Auto Parts - Order Results</title>
  12. </head>
  13. <body>
  14. <h1>Bob 's Auto Parts</h1>
  15. <h2>Order Results</h2>
  16. <?php
  17. echo "<p>Order processed at ";
  18. echo date('H:i, jS F Y')."</p>";
  19. echo "<p>Your order is as follows: </p>";
  20. echo "$tireqty tires<br />";
  21. echo $oilqty.' bottles of oil<br />';
  22. echo $sparkqty." spark plugs<br />"
  23. ?>
  24. ---------------------------------------------------<br />
  25. <?php
  26. $testHeredoc = <<< EOF
  27. line 1
  28. line 2
  29. line 3
  30. EOF;
  31. echo "$testHeredoc"."<br />";
  32. ?>
  33. ---------------------------------------------------<br />
  34. <?php
  35. echo "About Comment:";
  36. //Here is a comment.
  37. #Here is a comment too.
  38. /*
  39. Here is multi line comment.
  40. Here is multi line comment.
  41. */
  42. ?>
  43. </body>
  44. </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中的“+”。

  1. <?php
  2. echo "<p>Order processed at ";
  3. echo date('H:i, jS F Y')."</p>";
  4. echo "<p>Your order is as follows: </p>";
  5. echo "$tireqty tires<br />";
  6. echo $oilqty.' bottles of oil<br />';
  7. echo $sparkqty." spark plugs<br />"
  8. ?>

date('H:i, jS F Y')  php通过这样的方式显示日期

08:25, 7th July 2008

在这里H 是小时,i是分钟,(小时和分钟是补0的)j是该月的日期后面的S事顺序后缀在这里是th F是月份的全称

注意:

  1. echo "$tireqty tires<br />";

  2. echo $oilqty.' bottles of oil<br />';是等价的
    对于简单的变量可以将变量写入到由双引号引起来的字符串中 插值

5. php中有三种注释方式:分别为

单行注释“//” 或者 像shell一样的单行注释“#”;

多行注释“/**/”。

6.php中所有的变量使用时都是以“$”打头的(变量的使用获取变量的值), 并且变量使用时不需要提前声明。 而且变量的类型也可以随时改变,

这取决于赋值给变量的值的类型。php变量的类型是在每一次赋值时确定和改变的。

7.指定字符串的方法

  1. <?php
  2. $testHeredoc = <<< EOF
  3. line 1
  4. line 2
  5. line 3
  6. EOF;
  7. echo "$testHeredoc"."<br />";
  8. ?>

  1. 也可以用theEnd 用来指定结束标记
  1. echo <<<theEnd
  2.   line 1
  3.   line 2
  4.   line 3
  5. theEnd

二.数据类型:

可以查看官方手册:http://php.net/manual/zh/language.types.php

四种标量类型:(标量类型即为基本类型,不是类类型)

  • boolean(布尔型)
  • integer(整型) 用来表示所有实数
  • float(浮点型,也称作 double) (php中没有单精度和双精度之分)
  • string(字符串) (字符串类型在PHP中属于标量类型,在Java中属于类类型)

两种复合类型:

  • array(数组)
  • object(对象) --用来保存类的实例

最后是两种特殊类型:

  • resource(资源)--  数据库函数返回这个类型的变量
  • NULL(无类型)

变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。


  1. <?php
    不用声明数据类型
  2. $a_bool = TRUE; // a boolean
  3. $a_str = "foo"; // a string
  4. $a_str2 = 'foo'; // a string
  5. $an_int = 12; // an integer
  6. $a_float = 3.14; // a float(double)
  7.  
  8. echo gettype($a_bool)."<br>"; // prints out: boolean
  • 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype() 函数。
  • 要查看某个类型,不要用 gettype(),而用 is_type 函数。
  1. echo gettype($a_str)."<br>"; // prints out: string
  2. echo gettype($an_int)."<br>"; // prints out: integer
  3. echo gettype($a_float)."<br>"; // prints out: double
  4.  
  5. // If this is an integer, increment it by four
  6. if (is_int($an_int)) {
  7. echo "an_int = ".$an_int."<br>";
  8. $an_int += 4;
  9. echo "an_int = ".$an_int."<br>";
  10. }
  11.  
  12. // If $bool is a string, print it out
  13. // (does not print out anything)
  14. if (is_string($a_str)) {
  15. echo "String: $a_str"."<br>";
  16. }
  17.  
  18. echo var_dump($a_float, $a_bool, $a_str, $an_int); //如果想查看某个表达式的值和类型,用 var_dump() 函数。

  19. ?>

输出:

  1. boolean
  2. string
  3. integer
  4. double
  5. an_int = 12
  6. an_int = 16
  7. String: foo
  8. float(3.14) bool(true) string(3) "foo" int(16)

三 使用常量  没有$号,变量才有$

  1. define('TIREPRICE', 100);
  2. define('OILPRICE', 10);
  3. define('SPARKPRICE', 4);

这是php中定义常量的一种方法,这里定义了值为100的TIREPRICE常量、值为10的OILPRICE常量和值为4的SPARKPRICE常量。  

2.变量的作用域:

global

static

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

否则以下的y值不会输出,这时候需要加global,以下的作用域是local

和c一样因为y存在栈里,所以{}就会消失    

  1. <?php
  2. $x=5; // 全局变量
  3.  
  4. function myTest()
  5. {
  6. $y=10; // 局部变量
  7. echo "<p>测试函数内变量:<p>";
  8. echo "变量 x 为: $x";
  9. echo "<br>";
  10. echo "变量 y 为: $y";
  11. }
  12.  
  13. myTest();
  14.  
  15. echo "<p>测试函数外变量:<p>";
  16. echo "变量 x 为: $x";
  17. echo "<br>";
  18. echo "变量 y 为: $y";
  19. ?>

global:在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

  1. <?php
  2. $x=5;
  3. $y=10;
  4.  
  5. function myTest()
  6. {
  7. global $x,$y;
  8. $y=$x+$y;
  9. }
  10.  
  11. myTest();
  12. echo $y; // 输出 15
  13. ?>

static:每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

  1. <?php
  2.  
  3. function myTest()
  4. {
  5. static $x=0;
  6. echo $x;
  7. $x++;
  8. }
  9.  
  10. myTest();
  11. myTest();
  12. myTest();
  13. ?>
  14.  
  15. 输出结果为012
  16. static不会因为函数消失而消失

输出:

PHP 数组

数组可以在一个变量中存储多个值。

在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

  1. <?php
  2. $cars=array("Volvo","BMW","Toyota");
  3. var_dump($cars);
  4. ?>

输出:

  1. array(3) {
  2. [0]=>
  3. string(5) "Volvo"
  4. [1]=>
  5. string(3) "BMW"
  6. [2]=>
  7. string(6) "Toyota"
  8. }

设置 PHP 常量

常量是全局的

设置常量,使用 define() 函数,函数语法如下:

  1. bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
    1. ?php
    2. define("GREETING", "欢迎访问 Runoob.com");
    3.  
    4. function myTest() {
    5. echo GREETING;
    6. }
    7.  
    8. myTest(); // 输出 "欢迎访问 Runoob.com"
    9. ?>
 

php入门(一)的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  8. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  9. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  10. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. Xception

    Xception(Deep Learning with Depth-wise Separable convolutions)——google Inception-V3 Xception 并不是真正意义 ...

  2. icomoon.io生成字体图标

    1. 准备svg图片 2. 打开icomoon选择icomoon App 3. import icons 上传本地的svg图片 4. 点击选中以后点击generate fonts形成字体图标 5. p ...

  3. AttributeError: 'NoneType' object has no attribute 'append'

    大多数是这个原因: gongzi = [] for p in [1,2,3]: gongzi = gongzi.append(p) #改为如下即可 gongzi = [] for p in [1,2, ...

  4. Spring-基于设置函数的依赖注入

    Spring 基于设置函数的依赖注入 当容器调用一个无参的构造函数或一个无参的静态factory方法来初始化你的bean后,通过容器在你的bean上调用设值函数,基于设值函数的DI就完成了. 下面是T ...

  5. 001-shell基础,创建,运行

    一.概述 Shell 是一个用 C 语言编写的程序.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服 ...

  6. 18.出现Description Resource Path Location Type Unknown error merging manifest

    原因是,依赖工程和主工程的manifest中的 <uses-sdk android:minSdkVersion="9" android:targetSdkVersion=&q ...

  7. kettle配置命名参数

    bat 调度文件如下 cd D:/Program Files/kettle700/data-integrationKitchen.bat /rep repository /dir /TEST /job ...

  8. Java泛型三:Java泛型详解

    原文地址https://www.cnblogs.com/lzq198754/p/5780426.html 1.为什么需要泛型 泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇 ...

  9. SVN遇到的问题和解决方法(后期还会继续更新)

    1,smartsvn客户端(version客户端类似),一些.a文件无法识别,也就无法提交到svn! 解决办法如下: 在smartsvn客户端下面view->Ignored Files 勾选上就 ...

  10. XDU 1037 倍流畅序列(字符串匹配+贪心)

    题目描述 对于一个0,1串s, 从左端开始读取它的0获得序列s0,从右端开始读取它的1获得s1,如果s0与s1同构,则称s为倍流畅序列.例如:011001是一个倍流畅序列, 因为:s0 = 0__00 ...