php中的雷同方法
php中又很多的可选语法,比如echo
使用echo()和print()都可以输出文本,他们的不同之处在于print()函数有一个返回值1代表输出成功,0代表输出失败,二echo()就没有返回值了。
逻辑表达式中的可选性
我们看下面的语句
<?php
$p = 6 or 0;
var_dump($p);
$p = 6 || 0;
var_dump($p); $p = 6 and 0;
var_dump($p); $p = 6 && 0;
var_dump($p);
?>
一次输出的结果是:
int(6) bool(true) int(6) bool(false)
=的优先级比or要高,所以先赋值再计算or表达式得到true,=的优先级比or要低,所以先计算表达式的值得到true再给$p赋值,=的优先级要比and高所以先给$p赋值再计算表达式的值,=的优先级要比&&低,所以先计算&&表达式的值得到false,再给$p赋值。他们计算得到的值都是true,如下:
<?php
$p = 6 or 0;
var_dump(6 or 0);
$p = 6 || 0;
var_dump(6 || 0); $p = 6 and 0;
var_dump(6 || 0); $p = 6 && 0;
var_dump(6 || 0);
?>
这里输出的结果是:bool(true) bool(true) bool(true) bool(true)
使用定界符代替字符串的引号
我们知道php中的字符串要使用单引号或者双引号包括起来,但是遇到字符串中本身有单引号或者双引号的情况就需要使用转义字符了,这里可以使用定界符代替,如下:
$value = <<<aABC
This is the text aABC that will be included in the ""value variable.
aABC
aABC; echo($value);
代码输出:
This is the text aABC that will be included in the ""value variable. aABC,这里的aABC可以使用任意的字符串代替,单首尾要一致,最后一个aABC需要顶格写,前面不能有空格。
面向对象
类是抽象事物的表现,类中包含自包含的变量和函数,类就像一个蓝图,用这个蓝图我们可以建造不同的个体。来看下面的代码
class Box
{
private $what_is_inside; public function __construct($contents)
{
$this->$what_is_inside = $contents;
} public function get_whats_inside()
{
return $this->$what_is_inside;
}
}
类的定义以class开头,然后是指定一个任意的名字,然后是花括号,变量和方法都定义在这个花括号中。在这个类中我们定义了一个变量和两个方法,当初始化这个类的时候首先会执行构造方法__construct,用来给变量赋值。变量$this表示变量$what_is_inside是Box这个类中的变量,而非类中的函数的变量。$this表示是这个类中的变量,它在类中的任意函数都可以调用到。
属性和方法
面向过程中的变量和函数,在面向过程中我们成为属性和方法,在类中定义函数成为方法,方法提供的对象与标准接口,任何人都可以使用。私有的方法或属性只能在类的内部使用,共有的方法和属性在类的内部和外部都可以使用。
php中的雷同方法的更多相关文章
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- java 执行 jar 包中的 main 方法
java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多 ...
- 为什么不能在init和dealloc函数中使用accessor方法
前言 为什么不要在init和dealloc方法中调用getter和setter:Apple在Mac与iOS中关于内存管理的开发文档中,有一节的题目为:"Don'tUse Accessor M ...
- C#中DataTable中的Compute方法使用收集
原文: C#中DataTable中的Compute方法使用收集 Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式,关于Expression的详 ...
- C#中的扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方 ...
- C#中的匿名方法
C#中的匿名方法是在C#2.0引入的,它终结了C#2.0之前版本声明委托的唯一方法是使用命名方法的时代.虽然在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方 ...
- Java中是否可以调用一个类中的main方法?
前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...
- 什么情况下才要重写Objective-C中的description方法
特别注意: 千万不要在description方法中同时使用%@和self,同时使用了%@和self,代表要调用self的description方法,因此最终会导致程序陷入死循环,循环调用descrip ...
- PHP中常见魔术方法解析
<?php class info { private $province; //省 public $city; //城市 private $myname; //姓名 //__construct( ...
随机推荐
- 逻辑备份,mysqldump,SELECT…INTO OUTFILE,恢复
逻辑备份 mysqldump mysqldump备份工具最初由Igor Romanenko编写完成,通常用来完成转存(dump)数据库的备份以及不同数据库之间的移植,例如从低版本的MySQL数据库升级 ...
- php的session存放数组
本文实例讲述了php使用session二维数组的用法 最普通的用法:一个变量名: $_SESSION['user'] = 0;echo $_SESSION['user']; 使用数组:代码如下: $_ ...
- linux系统挂载U盘,中文文件名乱码解决方案
本人(壮壮熊)所用系统:ubuntu 12.4 今天在使用mount指令挂在硬盘时,出现令人头疼的中文文件名乱码. 问题: 使用mount /dev/sdb1 /media指令挂在第二颗硬盘的第一个分 ...
- Softwaretechnik
1.Einführung 1.1 Was ist Softwareentwicklung Softwareentwicklung ist eine Wissenschaftliches Fach üb ...
- Vue2.0项目实战语法
一.安装配置依赖 1) vue init webpack-simple 项目名称 2) cnpm install 3 ) npm run dev 4 ) cnpm install vuex vue ...
- JDBC入门(2)--- ResultSet之滚动结果集
一.ResultSet之滚动结果集 ResultSet表示结果集,它是一个二维的表格.ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标: void befo ...
- jquery each遍历判断返回false方法
在jquery each中遍历返回false失效,解决办法,用变量解决: var num = 0; $(".box").find("input[type='text']& ...
- Android之NDK环境配置+JNI开发+so文件编译
前言 这边Android作为日常记录,虽然破坏了文章队形~ 最近人工智能挺火的,也稍微了解了一些库,比如关于视觉库openCV.要在安卓下调用这些C/C++库,需要用到JNI开发,在此把过程分享一 ...
- Java中的继承:父类和子类的关系
一.父类引用指向子类对象时 1.若子类覆盖了某方法,则父类引用调用子类重新定义的新方法 2.若子类未覆盖某方法,则父类引用调用父类本身的旧方法 3.若子类覆盖了某属性,但父类引用仍调用父类本身的旧属性 ...
- 爬虫必备—BeautifulSoup
BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后便可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单. ...