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则不能被继承

PHP笔记02的更多相关文章

  1. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  2. 《30天自制操作系统》笔记(02)——导入C语言

    <30天自制操作系统>笔记(02)——导入C语言 进度回顾 在上一篇,记录了计算机开机时加载IPL程序(initial program loader,一个nas汇编程序)的情况,包括IPL ...

  3. 《The Linux Command Line》 读书笔记02 关于命令的命令

    <The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...

  4. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  5. JS自学笔记02

    JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: ...

  6. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

  7. CS229 笔记02

    CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ ​ $ {\bf {\t ...

  8. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  9. ASP.NET Identity 2集成到MVC5项目--笔记02

    ASP.NET Identity 2集成到MVC5项目--笔记01 ASP.NET Identity 2集成到MVC5项目--笔记02 继上一篇,本篇主要是实现邮件.用户名登陆和登陆前邮件认证. 1. ...

  10. SaToken学习笔记-02

    SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...

随机推荐

  1. 关于HTTP 协议

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  2. 新闻网大数据实时分析可视化系统项目——12、Hive与HBase集成进行数据分析

    (一)Hive 概述 (二)Hive在Hadoop生态圈中的位置 (三)Hive 架构设计 (四)Hive 的优点及应用场景 (五)Hive 的下载和安装部署 1.Hive 下载 Apache版本的H ...

  3. Linux centosVMware su命令、sudo命令、限制root远程登录

    一.su命令 Linux系统中有些事情只有root用户才能做,普通用户不能做,这时候就需要临时切换到root身份了. [root@davery ~]# whoamiroot [root@davery ...

  4. boost::property_tree 读取ini配置

    应用场景: 在后端服务器项目开发中,需要初始化一个Socket服务器,需要IP地址与对应端口号等参数:另外还可能因为对接数据库,就还需要数据库的相关配置参数,如我使用的是MySql数据库,就需要数据库 ...

  5. Day9 - A - Apple Catching POJ - 2385

    Description 有两棵APP树,编号为1,2.每一秒,这两棵APP树中的其中一棵会掉一个APP.每一秒,你可以选择在当前APP树下接APP,或者迅速移动到另外一棵APP树下接APP(移动时间可 ...

  6. C# 篇基础知识1——编译、进制转换、内存单位、变量

    编译:C#语言要经过两次编译,程序员编写好源代码后进行第一次编译,将源代码编译为微软中间语言(MSIL),生成可以发布的应用软件:当用户使用软件时,MSIL代码会在首次载入内存后进行第二次编译,中间语 ...

  7. 认识python中的super函数

    需求分析 在类继承中,存在这么一种情况: class Human(object): def Move(self): print("我会走路...") class Man(Human ...

  8. 2-10 就业课(2.0)-oozie:9、oozie与hue的整合,以及整合后执行MR任务

    5.hue整合oozie 第一步:停止oozie与hue的进程 通过命令停止oozie与hue的进程,准备修改oozie与hue的配置文件 第二步:修改oozie的配置文件(老版本的bug,新版本已经 ...

  9. vSphere 计算vMotion的迁移原理

    1. 计算vMotion 的应用场景 1). 计划内停机维护 2). 提高资源的利用率 2. 计算vMotion 需求: 1).共享存储 vMotion需要解决的核心问题就是:将VMs的内存从源ESX ...

  10. 侯捷C++学习(一)

    //c++学习//标准库非常重要//要规范自己的代码complex c1(2,1);complex c2;complex* pc = new complex(0,1);string s1(" ...