php基础学习

1.数组:

$array_1 = array("i","like","coding");
echo $array_1[0].' '.$array_1[1].' '.$array_1[2].'.';   
echo count($array_1);  //和sizeof类似  返回数组元素个数

1> 关联数组
给定义的元素以指定的键值 

①$array_1 = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
②$array_1['Peter']="35";
 $array_1['Ben']="37";
 $array_1['Joe']="43";

关联数组中遍历元素键值对:
(1)

<?php 
foreach($array_1 as $key=>$value)
    {
        echo "Key=" .$key. ",value=".$value;
        echo "<br>";
    }
?>

2>数组排序
sort() - 对数组进行升序排列    //针对一个简单数组 没有键值对的  将元素按照字母排序

<?php
$cars=array("Volvo","BMW","Toyota");  
sort($cars);  
print_r($cars); 
?>

rsort() - 对数组进行降序排列  <--  类似与sort 是降序 -->

asort() - 根据关联数组的值,对数组进行升序排列
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
?>
ksort() - 根据关联数组的键,对数组进行升序排列
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
?>
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列

2.$_GET  && $_POST
<--从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。-->
<--从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。 -->
3.面向对象
1>构造函数初始化

<?php    
//构造方法与this关键字
class Person{
    public $name;
    public $age;
}
$ming = new Person();
$ming->name = "hhh";
$ming->age = 23;
var_dump($ming);

//构造函数直接初始化
class Person_construt{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    public function test_1(){
        echo "1111";
    }
    public function test_2(){     //调用类中函数 $this->function();
        $this->test_1();
        echo "2222"
    }
}
$ming = new Person_construt("xiao", 22);
var_dump($ming);
?>

<---- 构造函数add:  ----->  
<---- 父类中实现构造函数,若在继承子类中没有声明定义构造函数,那么会自动使用父类的构造函数;  ----->  
<----                     若继承的子类定义了自己的构造函数,那么不会调用父类构造函数,若要调用则需要自己写出来 (parent::__construct();)   ----->  
2>类进行继承:权限必须比父类的权限等于或者大于

<?php
class Father{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    public function jump(){
        echo  'I can jump 3 <br />';
    }
    /*final*/ public function work(){
        echo ' I am working workhard<br />';
    }
}
class Son extends Father{
    public $height;
    public $play;
    public function __construct($name,$age,$height,$play){
        parent::__construct($name,$age);
        $this->height = $height;
        $this->play = $play;
    }
    public function jump(){
        echo 'I can jump 5 <br />';
    }
    public function work(){
        parent::work();
        echo ' I can study<br />';
    }
}
?>

3> 接口类 && 抽象类 
<- 抽象类: ->
<- 抽象类可以继承并不实现其接口功能 ->

<?php
abstract class Temp1{
    abstract function A_1();
    abstract function A_2();
    public function B_1(){  ```` ;} 
}    
?>


若一个类(普通类)继承抽象类,那么必须实现其功能
若一个抽象类继承抽象类,那么实现或者不实现其父类功能都是可以的
<- 接口类 ->

<?php
interface Template
{
    public function setVariable($name, $var);
    public function getHtml($template);
}
class Template implements iTemplate{
    private $vars = array();
    public function setVariable($name, $var)
    {echo "world";}
    public function getHtml($template)
    {echo "hello"; }
}
?>

<?php
interface Temp{
    public function test1();
}
abstract class Temp2{
    abstract function test3();
    public function test2(){echo 'hello normal function<br>';
    }
}
abstract class Temp1 extends Temp2 implements Temp{
    abstract function test4();
    function test1(){echo "test1() of the Temp1<br>";}
}
class Temp3 extends Temp1{
    function test2(){echo "test2()<br>";}
    function test3(){echo "test3()<br>";}
    function test4(){echo "test4()<br>";}
    function test1(){echo "test1() of the Temp3 <br>";}
}
?>


若一个类(抽象类或者普通类)同时继承抽象类和接口类,那么首先应该继承抽象类(extends)其次继承接口类(implements)
一个项目中一个抽象类方法的定义在程序结束之前必须实现,而接口可以不实现。

关键字:static、abstract、final
<-static->: 虽然放在类中,但是不受该类束缚,不需要声明对象实例就可以直接被外部访问。
    ----->add: static类方法中不能用$this指针
<-abstract->: 抽象方法不能直接使用,必须经过实现(implement关键字)才可以使用
<-final-> :  表示该方法是最终的版本,不能再重新声明,也不能再重写。
如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值