PHP基础语法

1、流程控制

  条件语句:if  elseif  else / switch

  1. if($a == 1){
  2.  
  3.    ……
  4.  
  5. } elseif ($a == 2){
  6.  
  7.    ……
  8.  
  9. } else{
  10.  
  11.    ……
  12.  
  13. }

循环语句:for  foreach

  1. for ($i = 1; $i <= 10; $i++) {
  2. echo $i;
  3. }
  4.  
  5. foreach($arr as $key => $value){ //一维数组循环键和值
  6. ……
  7. }
  8.  
  9. foreach($arr as $key => $value){ //二维数组循环键和值
  10. foreach($value as $value2){ //可以在循环中直接取值
  11. ……
  12. }
  13. }

2、函数:

一次写成,反复调用。

   定义用function:

  1. function foo($arg_1, $arg_2, /* ..., */ $arg_n)
  2. {
  3. echo "Example function.\n";
  4. return $retval;
  5. }

foo($a1,$a2,……,$an);      //在php中,名称() ==>函数

有很多内置函数,比如var_dump()

   局部变量:函数内定义的变量

全局变量:函数外定义的变量

3、类与对象

  类是图纸,对象是照着图纸盖出来的房子。

  面向对象的方法:是为了更大规模的协作。

  1. <?php
  2.  
  3. class name{
  4. public $a1 = 0;
  5. public $a2 = 1;
  6.  
  7. public function __construct(){ //魔术方法,不带参数的构造函数,自己会执行,可以不写。
  8. //初始值
  9. }
  10.  
  11. public function s1(){
  12. $this -> s2(); //用$this来调用兄弟姐妹
  13. }
  14.  
  15. public function s2(){
  16. echo $this -> a1;
  17. }
  18. }
  19.  
  20. $name = new name(); //类实例化
  21. echo $name -> a2 . "<br/>"; //调用类属性,"->"是指向运算符,后面属性不用$符号
  22. $name -> s2(); //调用类方法
  23.  
  24. class name2{
  25. public $a1 = 0;
  26. public $a2 = 1;
  27.  
  28. public function __construct($a, $b){ //带参数的构造函数
  29. $this->a1 = $a;
  30. $this->a2 = $b;
  31. }
  32.  
  33. public function s1(){
  34. $this -> s2();
  35. }
  36.  
  37. public function s2(){
  38. echo $this -> a1;
  39. }
  40. }
  41.  
  42. /**/
  43. $name2 = new name2('a', 'b');
  44. echo "<br/>" ;
  45. $name2 -> s1();
  46.  
  47. ?>

魔术方法,有__construct(构造函数)、__destruct(析构函数)等。PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。

4、包含文件

  一个项目中有很多个php文件,一个php文件要引用另外的php文件中内容,要用到“包含文件”。

  include:包含并运行指定文件

include_once:只包含一次

    require / require_once

5、数据库

  SQL语法可以通过菜鸟教程学习:http://www.runoob.com/mysql/mysql-tutorial.html

   使用Mysqli API来处理数据库的添删改查:mysqli::query,   mysqli_result::fetch_array等。

添加数据到表中的例子:

  1. <?php
  2.  
  3. $host = "127.0.0.1";
  4. $user = "root";
  5. $passwd = "zst@123";
  6. $dbname = "php10"; //数据库名称
  7. //连接数据库
  8. $db = new mysqli($host, $user, $passwd, $dbname);
  9. //判断连接是否成功
  10. if($db->connect_errno <> 0){
  11. echo "连接数据库失败,";
  12. echo $db->connect_error;
  13. }
  14.  
  15. //执行sql
  16. $sql = "insert into msg(content2, intime, user) values('留言',123,'php')";
  17. $a = $db->query($sql);
  18. //执行是否成功
  19. if($a == true){
  20. echo "执行成功";
  21. }else{
  22. echo "执行失败";
  23. }
  24. //var_dump($db);
  25.  
  26. ?>

查询表中的数据到页面上显示的例子:

  1. <?php
  2.  
  3. $host = "127.0.0.1";
  4. $user = "root";
  5. $pwd = "zst@123";
  6. $dbname = "php10";
  7. $db = new mysqli($host, $user, $pwd, $dbname);
  8. if($db->errno <> 0){
  9. echo "数据库连接失败";
  10. exit;
  11. }
  12. $sql = "select * from msg where id>15 order by id desc";
  13. $mysqli_result = $db->query($sql);
  14. if($mysqli_result == false){
  15. echo "查询语句执行失败";
  16. exit;
  17. }
  18.  
  19. $rows = [];
  20. while($row = $mysqli_result->fetch_array(MYSQLI_ASSOC)){
  21. $rows[] = $row;
  22. }
  23. //var_dump($rows);
  24.  
  25. ?>
  26. <html>
  27. <head>
  28. <meta charset="UTF-8"/>
  29. <title>留言本</title>
  30. <!--<link rel="stylesheet" type="text/css" href="test.css"> -->
  31. <style type="text/css">
  32. .wrap{
  33. width: 800px;
  34. margin: 0px auto;
  35. }
  36. .add{
  37. overflow:hidden; <!--消除float-->
  38. }
  39. .add .content{
  40. width: 798px;
  41. margin: 0px;
  42. padding: 0px;
  43. }
  44. .add .user{
  45. float: left;
  46. }
  47. .add .btn{
  48. float: right;
  49. }
  50. .msg{
  51. margin: 20px 0px;
  52. background: #ccc;
  53. padding: 5px;
  54. }
  55. .msg .info{
  56. overflow: hidden;
  57. }
  58. .msg .user{
  59. float:left;
  60. color: blue;
  61. }
  62. .msg .time{
  63. float: right;
  64. color:999;
  65. }
  66. .msg .content{
  67. width: 100%;
  68. }
  69.  
  70. </style>
  71. </head>
  72. <body>
  73. <div class="wrap">
  74. <!--发表留言-->
  75. <div class="add">
  76. <form action="messageboard_class.php" method="post">
  77. <textarea name="content" class="content" cols="50" rows="5"></textarea>
  78. <br/>
  79. <input name="user" class="user" type="text"/>
  80. <input class="btn" type="submit" value="发表留言"/>
  81. </form>
  82. </div>
  83. <!--查看留言 -->
  84. <?php
  85. //设置日期时区,否则会少7小时
  86. date_default_timezone_set("Asia/Shanghai");
  87. foreach ($rows as $key => $record) {
  88.  
  89. ?>
  90. <div class="msg">
  91. <div class="info">
  92. <span class="user"><?php echo $record["user"]; ?></span>
  93. <span class="time"><?php echo date('Y-m-d H:i:s', $record["intime"]); ?></span>
  94. </div>
  95. <div class="content">
  96. <?php echo $record["content"]; ?>
  97. </div>
  98. </div>
  99. <?php
  100. }
  101. ?>
  102. </div>
  103. </body>
  104. </html>

PHP基础知识总结(三) 流程控制、函数、类对象和数据库的更多相关文章

  1. ASP.NET Core 基础知识(三) Program.cs类

    ASP.NET Framework应用程序是严重依赖于IIS的,System.Web 中有很多方法都是直接调用的 IIS API,并且它还是驻留在IIS进程中的.而 ASP.NET Core 的运行则 ...

  2. PHP面试 PHP基础知识 四(流程控制)

    流程控制 PHP遍历数组的三种方式及各自的区别 三种方式:使用for循环.使用foreach循环.使用while.list().each()组合循环 区别:foe循环只能遍历索引数组,foeach可以 ...

  3. php基础知识(三)---常用函数--2017-04-16

    常用函数如下:(红色为重点) 1.取字符串的长度 echo strlen("hello"); 2.echo strcmp("字符串1","字符串2&q ...

  4. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  5. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

  6. Greenplum入门——基础知识、安装、常用函数

    Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709    版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...

  7. 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

  8. 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围

    045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...

  9. 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程

    040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...

随机推荐

  1. Centos7.4 配置之MySQL 8.0【转】

    首先查看Mysql最新版本, 此时,目前最新版本为8.0. 开始安装前需要一些准备工作. 1,将本地的MariaDB或者已经安装的MySQL其他版本卸载. (一)卸载本地的本地的MariaDB: 由于 ...

  2. Html代码查看器

    Html代码查看器 效果: 分析: 1.连接网络需要权限 <uses-permission android:name="android.permission.INTERNET" ...

  3. mysql的windows客户端链接远程全套案例

    我是linux 的服务器,navicat12的客户端, 开始链接的时候需要开服务器上得对外爆漏端口 3306,方法: 添加指定需要开放的端口: firewall-cmd --add-port=/tcp ...

  4. WEB服务端安全---注入攻击

    注入攻击是web领域最为常见的攻击方式,其本质是把用户输入的数据当做代码执行,主要原因是违背了数据与代码分离原则,其发生的两个条件:用户可以控制数据输入:代码拼接了用户输入的数据,把数据当做代码执行了 ...

  5. mysql FROM_UNIXTIME 时间不准确

    mysql 使用 FROM_UNIXTIME 函数计算出来的时间少了6个小时或者8个小时 解决办法: 添加 default-time_zone = '+8:00' 这个再配置文件中 vi /etc/m ...

  6. VUE mixins(混入)

    mixins是在引入组件之后 将组件内部的内容如data等方法.method等属性与父组件相应内容进行合并 相当于在引入后 父组件的各种属性方法都被扩充了. 单纯组件引用:           父组件 ...

  7. 浅析java设计模式(一)----异构容器,可以存储任何对象类型为其他类提供该对象

    最近在着手重构一个java UI桌面项目,发现这个项目在一开始的时候由于需求不明确,以及开发人员对swing框架不熟悉等问题造成了页面代码混乱的情况:为了能够在各个类里都可以拿到其他类的引用去进行相应 ...

  8. C#虚方法和抽象方法的区别

    一,如下例子 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespa ...

  9. 关于清除浮动的n中方式

    我们在对页面进行布局的时候经常会用到浮动布局,浮动布局能够很好的实现我们想要的布局效果,同时兼容方面也是很好的,但是当我们在用左右浮动进行页面布局的时候,由于元素浮动脱了了文档流导致浮动元素的父级高度 ...

  10. 【原创】微信最新表情js代码

    最近在做仿微信聊天表情发送功能,所以需要展示常用的105个表情. 因为对接微信公众号的时候,用户聊天过程中发送的表情,微信服务器会转成对应的代码传给我们的服务器,类似如下: :/::)/::~/::B ...