php中的基本语法

2016-12-24  本文已影响22人  coder_hong

整体了解

<?php
// 如果不需要界面展示 可以直接写php代码 不需要些html语句
    echo "hello";
    
    // 在php中,定义一个变量要以$符号开头
    $a = 890; // 定义了一个变量, 该变量叫$a, 然后给变量赋值890
    echo "<bt />";
    
    // 注意:变量的数据类型不是固定不变的,是根据上下文决定的
    $b = 100; // 此时$b变量是整形
    $b = "jake"; // 此时$b由整型变成字符串类型
    var_dump($b); // 可以显示变量信息 即可以看到该变量的类型
    
    // php是区分大小写的
    $H = 12;
    $h = 15;

    // php变量的名称只能以英文字母跟下划线"_"开头,不可以以数字开头
?>

基本数据类型

捕获.PNG

复合类型

特殊类型

算术运算

$a = 90;
$a++; // 等价于 $a = $a + 1

$b = 80;
$b--; // 等价于$b = $b - 1;
表达式 (expr1)? (expire2) :(expire3)

$a = 90;
$b = 80;

$c = $a > $b ? 23:900;

分支控制

if(条件表达式){

}
$age = 30;
if($age > 30){

}else if($age==30){

}else{

}

循环控制

for($i = 0; $i<5; $i++){
  echo "你好";
}

$i  = 0;
while($i<10){
    echo "<br /> 你好!!";
    $i++;
}

$age = 0;
do{
    echo age;
    $age++;
   }while($age < 10)

函数



<?php
    $num1 = 10;
    $num2 = 12;

    // function关键字  jiSuan函数名
    // $num1, $num2, $oper 形参 及参数列表 注意参数不需要类型
    function jiSuan($num1, $num2, $oper){
        
        $res = 0;
        switch($oper){
            case "+":
            $res = $num1 + $num2;
            break;
            
            case "-";
            $res = $num1- $num2;
            break;
            
            case "*":
            $res = $num1 * $num2;
            break;
            
            default:
            echo "输入运算符有误";
            
        }
        
        return $res;
    }
    
    
?>

<?php
// 引入需要的php文件
    require 'funcs.php';
    
    $res = jiSuan(12, 15, "+");
?>

总结函数的格式
function 函数名(参数1,参数2,......){ // 参数列表是不需要数据类型的
// 函数体
return 语句;
}

php页面相互调用的知识点

a.php页面想使用 b.php定义的函数,我们可以使用如下指令

<?php
  require (要引入的文件名);
  require "要引入的文件名";

require_once ("引入的文件") 先判断,在引入,如果发现文件已经引入,则不再引入
如果是用require引用重复同一个php 文件,或报错 重复定义
require相当于作用相当于完整的拷贝
?>

include 和require区别(同时也是include_once 跟require_once的却别)
使用include如果出现错误,程序还是会继续执行,只是警告而已,而require程序会退出,不会再执行
常见的错误:例如,包含的文件名写错了 或者文件不存在

数组

$hens[0] = 3;
$hens[1] = 5;
$hens[2] = 1;
$hens[3] = 3.6;
$hens[4] = 2;
$hens[5] = 50;

//  遍历整个数组

for($i = 0; $i<count($hens); $i++){
  echo $hens[$i];
}

数组的基本介绍

php中的数组是一组关键字(下标、索引)和值的集合,值可以使任意一种类型

数组的创建方式

方式1

<?php
  $array[0] = "jake";
  $array[1] = 12;
  $array[2] = 12.5;
?>

方式2

$数组名 = array(值1,值2, 值3,......);
$person = array("23", "jake", "1998-11-05");

方式3
自己指定下标

$array["logo"] = "北京";
$array["hsp"] = 123;
或者
$array = array("logo"=>"北京", “hsp”=>123); 

PHP面向对象

<?php

// 定义一个类
    class Cat{
        // 成员属性
        public $name,
        public $age,
        public $color
        
    }
    
    // 创建猫对象
    $cat = new Cat();
    $cat->name = "小白";
    $cat->age = 2;
    $cat->color = "黑"; 
?>

公司的实际开发

类名.class.php

class 类名{

}

例如定义以猫类给别人用,规范的定义一个类
1.创建一个Cat.class.php
2.定义类
class Cat{
  // 属性
}

如果给函数传递的参数是一个对象,传递的是地制值
在php中如果数组作为参数默认是值传递(相当于拷贝一份),如果想要地址值传递,需要&$数组名
基本数据类型作为参数传递,是值传递,如果想传递的是地址值,则需在变量前加上&符号

function test(&$test1){

}
成员方法
<?php

// 定义一个类
    class Person{
        
        public $age,
        
        // 成员方法
        public function speak(){
            
            
        }
    }
    
    // 创建对象
    $p = new Person();
    // 执行成员对象方法
    $p->speak();
    
    
?>
构造方法

Class Person{

  public $name;
  public $age;

public function_construct{
// 当通过new方式初始化一个对象的时候,系统会调用该构造方法
// 注意:构造方法是没有返回值的,它是系统自动调用的
  echo "我是构造方法";
}

// 自定义构造方法 php4中的构造方法,名字和类型一致,如果在php5中两个都有,它会优先选择 `function_construct `
public function Person(){
    echo "ok";
}

}

// 自定义构造方法
public function_construct($iname, $iage){
    $name = $iname; // 这里是错误的写法  它会认为#name是一个新的变量 跟成员属性无关
    $iage = $iage;
  // 这就需要通过this这个关键字了
  this:系统会给每一个对象分配this代表当前对象
  // 正确的写法:
$this->name = $iname;
$this->age = $iage;
   echo "自定义构造方法"; 
}

析构方法

主要用于释放资源(比如:释放数据库连接,图片资源,销毁某个对象)

class Person{
  public $name;
  public $age;

  // 构造方法
  public function__construct($name, $age){
    $this->name = $name;
   $this->age = $age;
}

// 写一个析构方法 __是两个下划线
function __destruct(){
  echo ""销毁资源<br/>;
}

$p1 = new Person("贾宝玉", 16);
$p2 = new Person("林黛玉", 14);

运行代码我们得出结论:
  1.析构方法会自动调用
  2.析构方法主要用于销毁资源
  3.析构方法调用的顺序是,先创建的对象,后销毁
  4.析构方法什么时候被调用
(1)当程序(进程结束)退出时
(2)当一个对象称之为垃圾对象的时候
垃圾对象:在PHP当一个对象没有任何引用指向它的时候,就会成为一个垃圾对象,php将启用垃圾回收器将对象销毁,从而回收该对象占用的内存
}

static
上一篇 下一篇

猜你喜欢

热点阅读