~南客

导航

PHP笔记02

PHP数组

  • 能够在一个变量存储多个值
  • 取值用下标,下标从0开始计算
  • 好处:在处理物品清单等大量相同属性的变量内容时可以集中存取
<?php
$arr=array("like","xuexi","hello","world");
echo "I","$arr[0]","$arr[1]","$arr[2]","$arr[3].";
?>

PHP数组的创建

  • 数值数组
  • 关联数组
  • 多维数组

使用 count函数获取数组长度

<?php
$arr=array("like","xuexi","hello","world");
echo count($arr);
?>

遍历数组的值

<?php
$arr=array("like","xuexi","hello","world");
$x=count($arr);
for($i=0;$i<$x;$i++){
	echo $arr[$i],"<br>";
}
?>

PHP 关联数组

  • 一一对应的值
<?php
  $age=array("xiaoming"=>"20","xiaohong"=>"21","xiaogang"=>"22");
    echo "小明今年",$age['xiaoming'],"岁。";
    ?>
  • 关联数组的遍历
<?php
$age=array("xiaoming"=>"20","xiaohong"=>"21","xiaogang"=>"22");
	foreach($age as $name=>$ages)
	echo "$name:$ages<br>";
?>

PHP数组排序函数

  • sort() 升序
  • rsort() 降序
  • asort() 根据关联数组值升序排序
  • ksort() 根据关联数组的键升序排序
  • arsort() 根据关联数组的值降序
  • krsort() 根据关联数组的键降序

PHP超级全局变量

$GLOBALS

它是一个超全局变量数组,变量名字就是它的键

<?php
$x=1;
$y=2;
function test(){
$GLOBALS['z']=$GLOBALS['x']+$GLOBALS['y'];
}
test();
echo $z;
?>

$_SERVER

包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)

<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

$_REQUEST(不常用)

用于收集HTML提交的表单数据

<html>
<body>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
 
<?php 
$name = $_REQUEST['fname']; 
echo $name; 
?>
 
</body>
</html>

$_POST

被广泛应用于收集表单数据

<html>
    <body>
        <form method="post" action="<?php echo $_server['PHP_SELF'];?>">
            <input type="text" name="uname">
            <input type="submit">
        </form>
        <?php
        $name=$_POST['uname'];
        echo $name;
        ?>
    </body>
</html>

$_GET

也应用于收集表单

PHP while循环

while(条件){

要执行的代码块

}

<?php
    $a=1;
while($a<10){//循环输出直到a变量等于10
    echo $a++;
}
?>

do{

要执行的代码;

}while(条件);

<?php
    $i=1;
do{//do...while特点就是先执行一次语句再做判断
    echo $i++;
}while(i==1);//为了方便结合性while后面需要加分号
    ?>

PHP for循环

for(初始值;条件;增量){

需要执行的代码

}

<?php
for($i=0;$i<10;$i++){
echo "这是第$i次输出!";
}
?>

PHP foreach循环

foreach ($arr as $x){

要执行代码,多用于遍历数组

}

<?php
    $x=array("afd","arf","daf");
foreach($x as $a){
    echo $a;
}
    ?>

PHP函数

PHP函数创建方法

<?php
    /*
    function 函数名(){
    要执行的代码;
    }
    */
    function test(){
echo "hello world";
}
    test();
    ?>

带参数的函数,带return返回值的函数

<?php
    function sum($a,$b){
    return a+b;
}
    echo sum(4,5);
    ?>

PHP常量

  • //__LINE__ 显示当前行号
    <?php
       echo '这是第 " '  . __LINE__ . ' " 行';
        ?>
    
  • //__FILE__ 完整文件路径
    <?php
        echo '该文件位于"' . __FILE__ . '"';
        ?>
    

    ......

    PHP面向对象

    • 对象

    • 成员变量

    • 成员函数

    • 继承

    • 父类

    • 子类

    • 多态

    • 重载

    • 抽象性

    • 封装

    • 构造函数

    • 析构函数

    <?php
           //使用class关键字加上类名定义类,例如一个狗对象
           class dogs{
           //成员变量
        //private 私有内部可用 protected  本类子类父类访问
        //public 任何人都可以访问
        //可用用于方法
       public var $name;
           var $age;
           var $ggmm;
           //构造函数
           function __construct($name,$age,$ggmm){
       		$this->age=$age;
               $this->name=$name;
               $this->ggmm=$ggmm;
           }
           //成员函数
           function setage($age){
               $this->age=$age;
           } 
       	function setname($name){
               $this->name=$name;
           }
            function setggmm($ggmm){
               $this->ggmm=$ggmm;
           }
           //动作
           function eat(){
               echo "你对象在吃饭";
           }
           function getage(){
               return $this->age;
           }
           function getname(){
               return $this->name;
           }
           function getggmm(){
               return $this->ggmm;
           }
       }
       //使用构造函数实例化对象
       $dog = new dogs("zhouwan",20,"gg");
       //实例化对象
       // $dog = new dogs;
       // //调用成员方法
       // $dog->setage(20);
       // $dog->setname("wangcai");
       // $dog->setggmm("gg");
       echo $dog->getage(),$dog->getname(),$dog->getggmm();
       $dog->eat();
    	//继承
    	class cwgs extends dogs{
    		var $pz;
            //重写构造方法
    		function __construct($name,$age,$ggmm,$pz){
    			$this->pz=$pz;
    			$this->name=$name;
    			$this->age=$age;
    			$this->ggmm=$ggmm;
    		}
    			
    		function getpz(){
    			return $this->pz;
    		}
    	}
    		//实例化
    		$cwg=new cwgs("xx",20,"mm","hsq");
    		echo $cwg->getname(),$cwg->getage(),$cwg->getggmm(),$cwg->getpz();
    ?>
    

    接口

    接口也是一个类 用interface定义

    接口有一定量方法用于实现功能实现接口必须实现这些类

    使用implements关键字实现接口可以同时实现多个接口

    抽象类

    抽象类用abstract定义

    里面方法必须有抽象方法强制子类实现该方法

    子类实现的方法不能比抽象类的访问权限更私有

    final关键字

    如果父类出现final方法子类无法覆盖

    如果一个类被声明final则不能被继承

posted on 2020-02-23 17:43  ~南客  阅读(151)  评论(0编辑  收藏  举报