半吊子菜鸟学Web开发 -- PHP学习 1-基础语法
1索引数组
$fruit = array("苹果","香蕉","菠萝");
print_r($fruit);
索引数组的初始化,有三种方式:
$arry[0] = "苹果";
array('0'=>"苹果");
array('苹果'),系统默认从索引0开始
取出索引数组中的值
$fruit0 = $fruit['0'];for的使用,for的使用与C类似
foreach的使用
foreach($fruit as $key=>$value)
{
echo '第'.$key.'值是:'.$value;
}
2关联数组
关联数组指的是键是字符串的数组
$fruit = array('apple'=>'苹果','orange'=>'橘子')
print_r($fruit);
关联数组的创立
$arr = array();
$array['apple'] = '苹果';
或者
$arr = array('apple'=>"苹果");
取关联数组的值
$value = $fruit['banana'];
foreach($fruit as $key=>$value);
3PHP中的对象
定义一个类
class Car {
var $name = '汽车';
function getName() {
return $this->name;
}
}
$car = new Car();
$car->name = '宝马';
echo $car->getName();
同样类中的变量有public,private,protect
PHP在类中使用__construct()定义一个构造函数
class Car {
function __construct()
{
print "构造函数被调用\n";
}
function __destruct()
{
print "析构函数被调用\n";
}
}
静态属性与方法可以在不实例化类的情况下调用
直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。
静态方法也可以通过变量进行动态调用
$func = 'getSpeed';
$classname = 'Car'
echo $className::$func();
静态方法不能用this调用,可以用self,parent加上::来实现
方法的重载
属性的重载通过使用__set,__get,__isset,_unset
ublic function __set($key, $val) {
$this->ary[$key] = $val;
}
public function __get($key) {
if (isset($this->ary[$key])) {
return $this->ary[$key];
}
return null;
}
如果调用的方法不存在的时候,将会调用__call方法,如果是静态方法,将会调用__callstatic方法
public function __call($name, $args) {
if ($name == 'speedUp') {
$this->speed += 10;
}
}
类和对象的高级特性
同一个类的两个实例的所有属性都相等时,可以用==来判断
$a = new Car();
$b = new Car();
if ($a == $b) echo '==';
if ($a === $b) echo '===';
同一个类的两个变量是否为同一个对象的引用的时候,可以用===来判断
对象的复制,用关键字clone来复制一个对象
class Car {
public $name = 'car';
public function __clone() {
$obj = new Car();
$obj->name = $this->name;
}
}
$a = new Car();
$a->name = 'new car';
$b = clone $a;
var_dump($b);
对象序列化
可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。
$a = new Car();
$str = serialize($a); //对象序列化成字符串
echo $str.'<br>';
$b = unserialize($str); //反序列化为对象
var_dump($b);
半吊子菜鸟学Web开发 -- PHP学习 1-基础语法的更多相关文章
- 半吊子菜鸟学Web开发 -- PHP学习5-数据库
数据库 1 进行数据库操作的步骤 连接数据库 mysqli_connect 选择数据库 mysqli_select_db 设置文件编码 mysqli_query("set name utf- ...
- 半吊子菜鸟学Web开发 -- PHP学习 4 --异常
PHP异常处理 1 抛出一个异常 与Python的try except类似,PHP用try catch来捕获异常 基本语法 try{ //可能出现错误或异常的代码 //catch表示捕获,Except ...
- 半吊子菜鸟学Web开发 -- PHP学习3-文件
目录 1 PHP文件系统 1.1 PHP文件的读取 1.4 获得文件的大小 1.5 PHP写入文件 1.6 删除文件 1 PHP文件系统 1.1 PHP文件的读取 文件读取的函数是file_get_c ...
- 半吊子菜鸟学Web开发 -- PHP学习2-正则,cookie和session
1正则表达式 1.1基本的匹配字符串 $p = '/apple/'; $str = "apple banna"; if (preg_match($p, $str)) { echo ...
- 半吊子菜鸟学Web开发1 --配置开发环境
先说说我自己的情况,我算是一个半吊子菜鸟,对web开发熟练度为0,但是对熟悉C++和Python 所以这里开始记录我学习Web开发的历程,看看我这里学习的程序,能够学到什么地方. 首先是配置环境,我的 ...
- 半吊子菜鸟学Web开发6 -- Vscode开发环境配置
1vscode上手一周不到,终于弄出点门路,终于弄清楚了点vscode的设置是什么样子的了....哭 2就我这两天的使用来看,一般vscode默认只让打开一个文件夹,然后在你打开的文件夹里面自动生成 ...
- 半吊子菜鸟学Web开发2 --JavaScript学习1
JavaScript是一种类C的语言,对于我来说学起来还是蛮轻松的 1 输出 console.log(**); 相当于print console.assert(*);弹窗 2 变量 JS是动态变量 类 ...
- 半吊子菜鸟学Web开发4 --Html css学习2
1<a>标签,链接到另一个页面 <a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a> H ...
- 半吊子菜鸟学Web开发3 --Html css学习1
1创建一个html文件,用vscode打开 首先输入一个! 然后就可以开始编辑html文件了 2 整体结构 <!DOCTYPE HTML><html> <head& ...
随机推荐
- HTML5知识点笔记
1.HTML是一种标记语言 2.HTML元素不区分大小写 //可以在xss绕过waf时使用 3.<code></code>为空元素标签 <code/>为自闭合标签 ...
- jenkins针对不同用户显示不同项目
网上看了别人写的博客有点头晕 比如:https://www.cnblogs.com/kazihuo/p/9022899.html 典型的权限混乱,te用户可以读re用户的项目,re用户可以读te用户 ...
- Dapr 中文社区汇总
Dapr 于 2019 年在微软创建.随着时间的推移,许多社区成员加入该项目并做出贡献,扩展并帮助它在 2021 年 2 月达到了稳定的 1.0 版本.2021年3 月提交给 CNCF,在2021年1 ...
- Devops 开发运维高级篇之微服务代码上传和代码检查
Devops 开发运维高级篇之微服务代码上传和代码检查 微服务持续集成(1)-项目代码上传到Gitlab 微服务持续集成(2)-从Gitlab拉取项目源码 微服务持续集成(3)-提交到SonarQub ...
- LED调颜色小程序
燧星科技有一个免费的LED调颜色蓝牙小程序,小程序有一个拾色器用来调节颜色.亮度.饱和度,同时显示出RGB的十六进制与十进制数据.还有连接蓝牙模块的功能,可向通用蓝牙模块发送调节后的RGB数据,可为平 ...
- Wireshark教程之安装
实验目的 1.工具介绍 2.主要应用 实验原理 安装wireshark 实验内容 1.网络管理员用来解决网络问题 2.网络安全工程师用来检测安全隐患 3.开发人员用来测试执行情况 4.学习网络协议 实 ...
- RENIX发送固定个数报文——网络测试仪实操
在使用RENIX软件时,有时候我们需要发送固定个数报文,那么该如何操作呢?以下为您讲解具体操作步骤. 第一步:预约测试资源 打开Renix软件,连接机箱, 预约端口 第二步:发送固定个数的报文 选中流 ...
- 巧用 CSS 实现炫彩三角边框动画
最近有个小伙伴问我,在某个网站看到一个使用 SVG 实现的炫彩三角边框动画,问能否使用 CSS 实现: 很有意思的一个动画效果,立马让我想起了我在 CSS 奇思妙想边框动画 一文中介绍的边框动画,非常 ...
- eclipse gradle创建java项目
参考: https://blog.csdn.net/weixin_33733810/article/details/92438913 一 : 需要在 https://gradle.org/releas ...
- 列表视图ListView
依然是一个listView的Java文件 1 public class ListViewActivity extends Activity { 2 private ListView lv1; 3 @O ...