速战速决 (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: 概述, 常量, 变量, 运算符, 表达式, 控制语句的更多相关文章
- [Java] 数据类型, 变量, 运算符, 表达式
title: [Java] 变量与表达式 你已经学会输出 Hello world 了, 那么现在, 我们来学习关于变量的知识 基本数据类型 在 Java 中, 有 8 种基本的数据类型: 名称 描述 ...
- smarty模板 变量 运算符 表达式 流程控制 函数
① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面<{config_load file='fo.conf'}> 2,在需要用到配置的地方加<{#si ...
- 2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数
① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面 <{config_load file='fo.conf'}> 2,在需要用到配置的地方加 <{# ...
- C:常量、变量 、 表达式 、运算符、 枚举
常量 变量 表达式 运算符 枚举 1.布尔类型只有真和假 2运算符 >,<,<=,>=,==,!=.判断两个数是否相等要使用双等号‘==’.逻辑运算符的表达式结果非真即假,&a ...
- C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出
1. 程序的一般形式 (1)注释 ① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行. ② 作用:提示代码的作用,提示思路 不写注释的后 ...
- c++ --> 变量、常量与运算符
变量.常量与运算符 一.什么是变量? 在计算机的内存中, 内存被划分为一个一个的内存单元, 每个内存单元有自己的编号, 而变量就是对某一段连续内存单元使用一些更容易记忆.更容易区分的字符组合 ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- PHP语句【变量、运算符表达式、语句】
一.变量的方法.1.empty可以用empty的方法能够判断变量的值是不是为空.①如果我们看一下某一个变量是不是已经存在过了假如我们输出一下 var_dump (empty($a)); 返回值为tru ...
- C#。1 数据类型,常量变量,类型转换
C#. 一.数据类型 1,字符串类型(string) .放入一串字符串,需要用""引起来. 列如: string a ="999"; 2,整型 (int). ...
随机推荐
- Winform文件下载之WebClient
最近升级了公司内部使用的一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下 ...
- HTML+CSS学习笔记
1,html里的实际有6个<hn>标记,从<h1>到<h6>,字体由大到小. 2,em标签表示斜体. 3,<p>标签是换一个段落,<br>标 ...
- 基础才是重中之重~C#中标准的IDispose模式
回到目录 IDispose模式在C++中用的很多,用来清理资源,而在C#里,资源分为托管和非托管两种,托管资源是由C#的CLR帮助我们清理的,它是通过调用对象的析构函数完成的对象释放工作,而对于非托管 ...
- Js~对数组进行分组户数
在sql里有group by,主要对数据结果集进行分组统计,而对于JS来说,有时我们也需要这种功能,例如一个数据{"dog","cat","dog&q ...
- paip.禁用IKAnalyzer 的默认词库.仅仅使用自定义词库.
paip.禁用IKAnalyzer 的默认词库.仅仅使用自定义词库. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...
- JS util
一.返回上一页(history) 发觉有两种用法: 1.javascript:history.back(-1); 2.javascript:history.go(-1); 它们俩的区别是: histo ...
- 轻松自动化---selenium-webdriver(python) (十一)
本节重点: 控制滚动条到底部 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作.一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户 ...
- 8个前沿的 HTML5 & CSS3 效果【附源码下载】
作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握.前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身 ...
- 数据库连接池之Proxool使用
如果想要搭建一个高效的网站,链接池是必须用到的一部分.而连接池的选择是多种多样的.就现在的软件开发界而言,最为多用的是DBCP, c3p0, 和 proxool.而hibernate推荐使用的是c3p ...
- WebGL实现HTML5贪吃蛇3D游戏
js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...