半吊子菜鸟学Web开发 -- PHP语法学习1

1索引数组

$fruit = array("苹果","香蕉","菠萝");

print_r($fruit);

索引数组的初始化,有三种方式:

1$arry[0] = "苹果";

2array(‘0‘=>"苹果");

3array(‘苹果‘),系统默认从索引0开始

4取出索引数组中的值 $fruit0 = $fruit[‘0‘];

5for的使用,for的使用与C类似

5foreach的使用

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中的对象

1定义一个类
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";

  }

}

2静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。

静态方法也可以通过变量进行动态调用

$func = ‘getSpeed‘;

$classname = ‘Car‘

echo $className::$func();

静态方法不能用this调用,可以用self,parent加上::来实现

3方法的重载

属性的重载通过使用__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;
        }
    }

4类和对象的高级特性

同一个类的两个实例的所有属性都相等时,可以用==来判断

$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);
时间: 2024-10-24 11:43:53

半吊子菜鸟学Web开发 -- PHP语法学习1的相关文章

半吊子菜鸟学Web开发2 --JavaScript学习1

JavaScript是一种类C的语言,对于我来说学起来还是蛮轻松的 1 输出 console.log(**); 相当于print console.assert(*);弹窗 2 变量 JS是动态变量 类似与Python 但是要在前面加上var 例如 var a = 3 or 3.0 or 'name' 等等 如果不加上var就变成全局变量不建议这么使用 3比较运算符 用'===','=='会转换变量类型 4对象 类似于struct 添加属性 a.attr = **; 删除属性 delete a.a

半吊子菜鸟学Web开发6 -- Vscode开发环境配置

1vscode上手一周不到,终于弄出点门路,终于弄清楚了点vscode的设置是什么样子的了....哭 2就我这两天的使用来看,一般vscode默认只让打开一个文件夹,然后在你打开的文件夹里面自动生成 一个.vscode的文件夹(隐藏的,正常是看不见的) 3.vscode文件夹里面会生成两个文件 一个是launch.json,这是用来调试的时候,记录你调试的配置 一个是setting.json,这是用户设置,比如说你要设置字体大小啊之类之类的 4我关于web开发的就主要使用js和php语言设置 安

菜鸟学WEB开发 ASP.NET 5.0 1.0

在学习之初我要强调一点“微软要向跨平台开发”大举进军了,不管他能走多远,这是微软的必经之路. 一.学习流程: 创建ASP.NET APPLICATION 项目——项目结构——结构分析. 1.创建ASP.NET APPLICATION项目 打开VS2015 选择 文件——新建——项目——模板——C#——WEB.如下图: 在此输入你的新项目名称和保存位置——确定 显示以下图片. 在此选择 WEB APPLICATION 点 确定完成项目创建.创建好的项目文件列表如下图: 到此项目创建完成. 2.项目

Java web开发路线--Java学习资料汇总

Java web开发是什么? 先来说说java体系,包含:javaSE.javaEE.javaME,其实目前关注主要是javaEE,但学些javaEE必须先学习javaSE(因为这个是java基础).Java web开发其实是应用javaEE实现web应用的开发,是用Java技术来解决相关web互联网领域的技术总和. web开发主要包括前端开发和后端开发,前端主要是HTML.CSS.JS等相关技术,后端技术主要有JavaEE技术.数据库技术.文件存储技术等.java体系比较庞大,也是很多人比较迷

从事web开发,选择学习PHP还是Python呢?

PHP和Python,想要从事web开发该选择哪个呢?我想很多人都出现过这样的疑问吧,今天小编为大家简单的介绍一下. 从目前互联网发展趋势来说,当前掌握Python语言的发展空间更大一些,发展前景更好,对比PHP来说,Python可以做的事情更多. Python除了可以从事web开发之外,还可以从事大数据开发.人工智能.系统运维等领域,而且热度处于持续上升的阶段中. 如果单纯从web开发方面你来说,很多人可能会重点关注PHP语言,因为PHP语言在开发领域有着非常不错的作用,尤其是很多中小型web

《HTML5移动Web开发指南》学习笔记(一)

第一章 移动互联网时代的Web技术 HTML5+CSS3+JavaScript的移动应用将会是未来的趋势. HTML5优势: 1.Canvas绘图: 2.多媒体: 3.本地存储: 4.离线应用: 5.使用地理位置: 6.有移动Web应用框架. 第二章 移动设备HTML5页面布局 HTML5新语义元素: 1.header头部信息 2.footer文末信息 3.nav导航链接 4.aside页面区域(广告,侧边栏) 5.article 文章内容 6.section 文档章节 7.hgroup主副标题

从头开始学Web开发—CSS_01

CSS导入使用及引用的两种方法: 外部引用 外部引用的方式,我们直接可以通过link标签来引用我们写好的一个CSS文件: 在link 标签中,我们通过rel = "stylesheet"来告诉浏览器,这是一个样式文件,同时rel还有另一个取值 alternative,这样用户自己可以选择样式,当然这个前提是当前页面引入的css样式表文件不止一个. 现在一般建议使用css文件外联引用,即把css样式单独作为一个.css文件. 直接使用 可以style标签直接在html 文件中直接写,然后

Java Web学习(3):Win7 64位操作系统搭建Java Web开发环境

一搭建Java Web开发环境的总体概览 工欲善其事必先利其器.学会搭建Java Web开发环境是学习JSP动态网站开发的最基本技能之一.主要介绍在 Windows 7 64位操作系统下搭建Java Web开发环境的过程,主要包括JDK的安装与配置.Tomcat的安装与配置. Eclipse IDE for Java EE Developers的安装与配置. 在这里推荐使用的: 1)Java  JDK 8.0 2)Server   Tomcat 8.0 3)IDE   Eclipse IDE f

快速使用node.js进行web开发

首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这是一个比较好的学习模式和过程.由于这本书是2012年出的,书中的一个web教学项目是开发一个微博.从2012到现在,node.js及其生态环境发生了很大改变,所以关于该书的学习如果照着书本显然是过于陈旧的.到目前为止,node.js的web开发框架已经升级到了Express4.12.1,对于Mong