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( ...
随机推荐
- WEB Front-end Development Technology
1.Einführung der HTML(Hypertext Markup Language) 1.1 Grundlegendes Label 1.1.1 Block Label <h1> ...
- 编译可移植的python
1. 在低版本系统机器上,编译python: cd Python-2.7.15/Modules vim Setup.dist 修改下述代码: ########### sed -i 's/#SSL=\/ ...
- jQuery——随笔
jQuery——随笔 jQuery的parseInt方法 在使用parseInt方法的时候要注意解析失败的问题,解析失败返回的是NaN 计算sum=sum+parseInt(num);的时候可以报错, ...
- 清空控件的TeXt属性
foreach (Control item in groupBox1.Controls) { if (item is TextBox) //判断控件是不是TextBox { item.Text = & ...
- 云主机安装Tomcat上传自己的网站
前几天在DigitalOcean上买一个云服务器(1g内存,1核,25gssd,1tb流量,一个月5$,按天收费),用github的students developer package里面的优惠码拿到 ...
- js 千分位符号 正则方法
function toThousands(num) { return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');}
- [LeetCode]3Sum Closest题解
3sum Closest: Given an array S of n integers, find three integers in S such that the sum is closest ...
- 借助 Filter 生成静态页面缓存问题
如果有些 jsp 页面,在一次 jsp 页面生成后 html 后, 就不太可能需要更新.可以使用缓存机制来解决这个问题. 解决思路如下 1. 定义一个文件夹 pagestaticize,用来存放 j ...
- mySql连接报错
问题: mySql链接报错如下: 解决: 设定时区 在链接URL增加?serverTimezone=UTC,变为jdbc:mysql://localhost:3306/TEST?serverTimez ...
- BZOJ1149 [CTSC2007]风玲
Description Input Output 输出仅包含一个整数.表示最少需要多少次交换能使风铃满足Ike的条件.如果不可能满足,输出-1. Sample Input 6 2 3 -1 4 5 6 ...