[源码下载]

速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句

作者:webabcd

介绍
速战速决 之 PHP

  • 概述
  • 常量
  • 变量
  • 运算符
  • 表达式
  • 控制语句

示例
1、概述
basic/summary.php

<!--
PHP 概述
--> <?php
echo "我在 php 开始标记和结束标记之间";
echo "<br />";
?> <?php if (time() % 2 == 0): ?>
我是 html(用于演示 php 和 html 混编)
<br />
<?php else: ?>
这里是 html(用于演示 php 和 html 混编)
<br />
<?php endif; ?> <?php
echo "可以没有 php 结束标记";
echo "<br />";

2、常量
basic/constant.php

<?php
/**
* 常量
*/ // 用 define 来定义常量
define("MyConst1", "MyConst1");
echo MyConst1;
echo "<br />"; // 在 PHP 5.3.0 之后支持用 const 来定义常量
const MyConst2 = "MyConst2";
echo MyConst2;
echo "<br />"; /**
* 魔术常量(magic constant)
*
* 魔术常量,在不同的场景下会有不同的值
*/ // __LINE__ - 文件中的当前行号, 由其在脚本中所处的行来决定
echo __LINE__;
echo "<br />"; // __FILE__ - 当前文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名
echo __FILE__;
echo "<br />"; // __DIR__ - 文件所在的目录,如果用在被包括文件中,则返回被包括的文件所在的目录
echo __DIR__;
echo "<br />"; // __FUNCTION__ - 函数名称
// __CLASS__ - 类名称
// __METHOD__ - 方法名称
// __NAMESPACE__ - 命名空间名称
// __TRAIT__ - Trait 名称

3、变量
basic/variable.php

<?php
/**
* 变量
*/ // 通过 $ 定义变量
$a = "a"; // 通过 $ 使用变量
echo $a; // output: a
echo "<br />"; // 通过 $ 使用变量,即使外面加了双引号也同样会使用变量
echo "$a"; // output: a
echo "<br />"; // 通过 {} 界定变量名称,比如"$ab",php会使用变量$ab,而实际上我们想要使用的是$a,此时就可以通过 {} 来界定变量名称,如下:
echo "{$a}b"; // output: ab
echo "<br />"; // 外面加双引号,但是不想使用变量的话,可以通过转移符“\”来将“$”变成字符串
echo "\$a"; // output: $a
echo "<br />"; // 外面加单引号的话就按字符串处理了
echo '$a'; // output: $a
echo "<br />"; // 变量之间赋值
$b = $a;
// 通过 & 定义引用。下面的例子是让 $c 引用 $a
$c = &$a;
// 为 $a 重新赋值
$a = "aa";
echo "$b"; // output: a
echo "<br />";
echo "$c"; // output: aa
echo "<br />"; function f1()
{
// 这里的 $a 引用的是局部变量 $a,然而之前在 f1 这个局部范围内并没有定义 $a,所以你要使用 $a 的话它是不会有任何内容的
echo $a; // output:
echo "<br />";
}
f1(); function f2()
{
// 通过 global 关键字标记 $a,则在此局部范围之后,再使用 $a 时将会使用全局版本的 $a
global $a;
echo $a; // output: aa
echo "<br />";
}
f2(); function f3()
{
// 通过 $GLOBALS 直接使用指定变量的全局版本
echo $GLOBALS['a']; // output: aa
echo "<br />";
}
f3(); function f4()
{
// 通过 static 来定义静态变量,其常驻内存
static $i = 0;
echo $i;
echo "<br />"; $i++;
}
f4(); // output: 0
f4(); // output: 1
f4(); // output: 2 $x = "aaa";
// variable variables(可变变量),将变量的值作为变量名
// 下面这句等同于 $aaa = "bbb";(因为 $x 的值是 aaa,所以 $$x 等同于 $aaa)
$$x = "bbb";
echo $aaa; // output: bbb
echo "<br />";
echo $$x; // output: bbb
echo "<br />"; $s = "12345";
// 大括号的作用: 用于指示字符串变量中的单个字符(下标从 0 开始)
$s{1} = 'x';
echo $s; // output: 1x345
echo "<br />";
// 大括号的作用: 用于界定变量的名称(比如下面使用的变量是 $s,而不是 $ss)
echo "{$s}s"; // output: 1x345s
echo "<br />";

4、运算符, 表达式, 控制语句
basic/statement.php

<?php
/**
* 运算符,表达式,控制语句
*/ // 运算符,表达式,控制语句和其他的语言都差不多
// 以下写一些个人认为需要强调的东西 // . 字符串运算符
$s1 = "hello ";
$s2 = "webabcd";
$s3 = $s1 . $s2;
echo $s3; // output: hello webabcd
echo "<br />"; $s1 .= "wanglei"; // output: hello wanglei
echo $s1;
echo "<br />"; // == 和 === 的区别
$a1 = "1"; // 字符串
$b1 = 1; // 整型
$c1 = "1"; // 字符串
if ($a1 == $b1) // 两个不同类型的数据做 == 比较,系统会自动转换
{
echo '$a1 == $b1'; // output: $a1 == $b1
echo "<br />";
}
if ($a1 === $b1) // 两个不同类型的数据做 === 比较,系统不会自动转换
{
// 不成立
}
if ($a1 === $c1)
{
echo '$a1 === $c1'; // output: $a1 === $c1
echo "<br />";
} // 对于 {} 方式的或者省略了 {} 方式的 if/else 语句来说,elseif 和 else if 是一样的
if (1 == 2)
echo "1 == 2";
else if (1 == 1)
echo "1 == 1";
elseif (2 == 2)
echo "2 == 2";
else
echo "else";
echo "<br />"; // 对于 : 方式的 if/else 语句来说,只能用 elseif 而不用能 else if
if (1 == 2):
echo "1 == 2";
// else if (1 == 1):
// echo "1 == 1";
elseif (2 == 2):
echo "2 == 2";
else:
echo "else";
endif;
echo "<br />"; // foreach 语句的用法
$array1 = array(1, 2, 3, 4);
foreach ($array1 as $value)
{
echo $value;
echo "<br />";
}
foreach ($array1 as $key => $value)
{
echo $key . " - " . $value;
echo "<br />";
} // try catch finally 的用法
try
{
echo "try";
echo "<br />"; throw new Exception("error message", 999); // 要想写自定义的 Exception 的话,就继承 Exception 就好
}
catch (Exception $ex)
{
echo "catch";
echo "<br />"; echo sprintf("message: %s, code: %d, file: %s, line: %d, trace: %s", $ex->getMessage(), $ex->getCode(), $ex->getFile(), $ex->getLine(), $ex->getTraceAsString());
echo "<br />";
}
finally
{
echo "finally";
echo "<br />";
}

OK
[源码下载]

速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句的更多相关文章

  1. [Java] 数据类型, 变量, 运算符, 表达式

    title: [Java] 变量与表达式 你已经学会输出 Hello world 了, 那么现在, 我们来学习关于变量的知识 基本数据类型 在 Java 中, 有 8 种基本的数据类型: 名称 描述 ...

  2. smarty模板 变量 运算符 表达式 流程控制 函数

    ① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面<{config_load file='fo.conf'}> 2,在需要用到配置的地方加<{#si ...

  3. 2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数

    ① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面 <{config_load file='fo.conf'}> 2,在需要用到配置的地方加 <{# ...

  4. C:常量、变量 、 表达式 、运算符、 枚举

    常量 变量 表达式 运算符 枚举 1.布尔类型只有真和假 2运算符 >,<,<=,>=,==,!=.判断两个数是否相等要使用双等号‘==’.逻辑运算符的表达式结果非真即假,&a ...

  5. C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出

    1. 程序的一般形式 (1)注释 ① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行. ② 作用:提示代码的作用,提示思路   不写注释的后 ...

  6. c++ --> 变量、常量与运算符

    变量.常量与运算符   一.什么是变量?    在计算机的内存中, 内存被划分为一个一个的内存单元, 每个内存单元有自己的编号, 而变量就是对某一段连续内存单元使用一些更容易记忆.更容易区分的字符组合 ...

  7. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  8. PHP语句【变量、运算符表达式、语句】

    一.变量的方法.1.empty可以用empty的方法能够判断变量的值是不是为空.①如果我们看一下某一个变量是不是已经存在过了假如我们输出一下 var_dump (empty($a)); 返回值为tru ...

  9. C#。1 数据类型,常量变量,类型转换

    C#. 一.数据类型 1,字符串类型(string) .放入一串字符串,需要用""引起来. 列如: string a ="999"; 2,整型 (int).   ...

随机推荐

  1. 跟我一起云计算(6)——openAPI

    介绍 Open API即开放API,也称开放平台. 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Program ...

  2. Android消息机制

    每一个Android应用在启动的时候都会创建一个线程,这个线程被称为主线程或者UI线程,Android应用的所有操作默认都会运行在这个线程中. 但是当我们想要进行数据请求,图片下载,或者其他耗时操作时 ...

  3. vue在多级联动时,一些情况不用watch而用onchange会更好

    onchange事件在内容改变且失去焦点时触发,因此在一些多级联动需要清空次级内容的时候,用onchange就非常有用了,尤其是浏览器会提前加载数据的情况下.有篇文章可以看一下,链接. PS:路漫漫其 ...

  4. WebApi系列~基于单请求封装多请求的设计

    回到目录 怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能 ...

  5. EF架构~关系表插入应该写在事务里,但不应该是分布式事务

    回到目录 这个标题很有意思,关系表插入,就是说主表和外表键在插入时,可能会有同步插的情况,如在建立主表时,扩展表需要同步完成数据的初始化工作,而对于多表插入时,我们为了保证数据的一致性会针它写在事务中 ...

  6. MySQL的Grant命令[转]

    本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删 ...

  7. Android开发学习之路-回调实现Service向activity传递数据

    开启服务的时候,如果我们是通过bindService来绑定服务并且要向服务传递数据,可以直接在Intent中设置bundle来达到效果,但是如果是我们需要从服务中返回一些数据到Activity中的时候 ...

  8. “胡”说IC——菜鸟工程师完美进阶

    “胡”说IC——菜鸟工程师完美进阶(数十位行业精英故事分享,顶级猎头十多年来经验总结,对将入或初入IC电子业“菜鸟”职业发展.规划的解惑和点拨.) 胡运旺 编著   ISBN 978-7-121-22 ...

  9. fir.im Weekly - iOS 保持界面流畅的技巧

    生命不息,coding 不止.本期 fir.im Weekly 收集了微博上的热转资源,包含 Android.iOS 开发工具.源码分享,产品 UI 设计的好文章,还有一些程序员成长的 Tips,希望 ...

  10. java 线程安全 Lock

    java.util.concurrent.locks 对于线程安全我们前面使用了synchronized关键字,对于线程的协作我们使用Object.wait()和Object.notify().在JD ...