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则不能被继承
PHP笔记02的更多相关文章
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
- 《30天自制操作系统》笔记(02)——导入C语言
<30天自制操作系统>笔记(02)——导入C语言 进度回顾 在上一篇,记录了计算机开机时加载IPL程序(initial program loader,一个nas汇编程序)的情况,包括IPL ...
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 强化学习读书笔记 - 02 - 多臂老O虎O机问题
# 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...
- JS自学笔记02
JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: ...
- 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)
机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...
- CS229 笔记02
CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ $ {\bf {\t ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- ASP.NET Identity 2集成到MVC5项目--笔记02
ASP.NET Identity 2集成到MVC5项目--笔记01 ASP.NET Identity 2集成到MVC5项目--笔记02 继上一篇,本篇主要是实现邮件.用户名登陆和登陆前邮件认证. 1. ...
- SaToken学习笔记-02
SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...
随机推荐
- PaperReading20200220
CanChen ggchen@mail.ustc.edu.cn Recently I am occupied with something else so today I am going to sh ...
- SpingBoot学习(一)
一.概述 Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提供了一堆依赖打包, ...
- redis学习笔记-04:redis五大数据结构类型
redis的命令大全网站:http://redisdoc.com/ 一.redis五大数据类型 1.String(字符串).Hash(哈希,类似Java里的Map).List(列表).Set(集合)和 ...
- R语言 subset()函数用法
subset() 函数: subset(dataset , subset , select ) dataset 是 要进行操作的数据集 subset 是对数据的某些字段进行操作 select 选取要显 ...
- 1.Neo4j简介(Neo4j系列)
简介 Neo4j是一个高性能.高可靠性.可扩展.支持ACID事务的图数据库,它基本由Java语言实现,支持数据平台的平滑扩展和过渡,同时能够在多种系统上完成部署,它使用Cypher查询语言对数据进行增 ...
- css常用设置
距离左边和上边 style="margin-left:100px;margin-top:10px" 设置相对位置 position:absolute; position:relat ...
- 做一个php登陆页面,用pc登陆和用手机登陆弹出来的登陆页面不一样。
<?phpheader('Content-Type:text/html; charset=UTF-8');//定义页面编码为utf8$is_pc = (strpos($agent, 'windo ...
- leetcode206 Reverse Linked List
""" Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL ...
- SQL注入的原理及分析
注入攻击的本质:将用户输入的数据当做代码执行. 有2个限制条件: 1.用户能够控制输入. 2.原本程序要执行的代码,拼接了用户输入的数据后进行执行. 定义:用户输入的数据被当做SQL语句执行. 以下面 ...
- 环境变量方式使用 Secret【转】
通过 Volume 使用 Secret,容器必须从文件读取数据,会稍显麻烦,Kubernetes 还支持通过环境变量使用 Secret. Pod 配置文件示例如下: 创建 Pod 并读取 Secret ...