相对于C#,PHP中的个性化语法
相对于C#,PHP中的个性化语法
背景
今天把PHP的基本语法结构熟悉了一下,包括:变量、类型、常量、运算符、字符串、作用域和函数等,本文列举一些我需要强化记忆的结构(和C#不同)。
一些个性化的结构
foreach结构

1 <?php
2 $array = array("a"=>1, "b"=>2);
3
4 foreach($array as $value) {
5 echo "value$value<br/>";
6 }
7
8 foreach($array as $key=>$value) {
9 echo "$key=>$value<br/>";
10 }
11 ?>


1 value1
2 value2
3 a=>1
4 b=>2

global和static作用域
- 在函数外声明的变量都属于全局作用域,函数内的$global $var相当于$var = $Globals["var"]。
- static作用域的变量在函数首次调用的时候执行初始化,函数执行完不会清理,后续的函数调用不会再执行初始化。

1 <?php
2 $global_x = 0;
3
4 function scope_test() {
5 static $count = 0;
6 global $global_x;
7
8 $count++;
9 $global_x++;
10
11 echo "$count, $global_x<br/>";
12 }
13 scope_test();
14 scope_test();
15 ?>


1 //输出内容
2 1, 1
3 2, 2

变量的变量

1 <?php
2 $name = "Tom";
3 $$name = "I am tom";
4
5 echo $$name."<br/>";
6 echo $Tom."<br/>";
7 ?>


1 I am tom
2 I am tom

常量定义

1 <?php
2 define("HAPPY", "幸福");
3
4 echo HAPPY."<br/>";
5 ?>


1 //输出内容
2
3 幸福

字符串插入

1 <?php
2 $name = "Tom";
3 $$name = "I am tom";
4
5 echo "$Tom,${$name},{$$name}<br/>";
6 ?>


1 I am tom,I am tom,I am tom

heredoc

1 <?php
2 echo <<<DOC
3 段
4 光
5 伟
6 DOC;
7 ?>


1 //输出内容
2
3 段 光 伟

函数级别的作用域

1 <?php
2 for($i = 1; $i <= 10; $i++) {
3 }
4
5 echo $i;
6 ?>


1 //输出内容
2
3 11

函数返回多个结果

1 <?php
2 function muti_return() {
3 return array(1, 2);
4 }
5
6 list($x, $y) = muti_return();
7
8 echo"($x, $y)";
9 ?>


1 //输入内容
2
3 (1, 2)

备注
还有一个问题我不是很明白,明天得查查资料,这个问题是:PHP的内存是如何分配和管理的?
相对于C#,PHP中的个性化语法的更多相关文章
- PHP:相对于C#,PHP中的个性化语法
背景 今天把PHP的基本语法结构熟悉了一下,包括:变量.类型.常量.运算符.字符串.作用域和函数等,本文列举一些我需要强化记忆的结构(和C#不同). 一些个性化的结构 foreach结构 <?p ...
- Hive中的排序语法
ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似.他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间. ...
- Razor视图中的@:和语法
Razor视图中的@:和语法 原创changuncle 最后发布于2016-12-07 17:43:50 阅读数 4456 收藏 展开 在MVC项目中新建视图的时候默认支持ASPX引擎和Razor引 ...
- php中一个"异类"语法: $a && $b = $c;
php中一个"异类"语法: $a && $b = $c; $a = 1;$b = 2;$c = 3;$a && $b = $c;echo & ...
- ASP.NET MVC 3和Razor中的@helper 语法
原文:http://kb.cnblogs.com/page/102191/ ASP.NET MVC 3支持一项名为"Razor"的新视图引擎选项(除了继续支持/加强现有的.aspx ...
- OC中的点语法,成员变量的作用域
点语法 点语法本质是函数的调用,不是像java中那样,是用来访问成员变量的:oc中访问成员变量是用 -> 访问的: Person *p = [Person new]; p.age = 10; / ...
- ThinkPHP 3.1.2 模板中的基本语法<1>
# # ThinkPHP 3.1.2 模板中的基本语法 一.传统的方式,导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='tex ...
- ASP.NET MVC 3: Razor中的@:和语法
原文 ASP.NET MVC 3: Razor中的@:和语法 [原文发表地址] ASP.NET MVC 3: Razor’s @: and <text> syntax[原文发表时间] De ...
- TypeScript中的怪语法
TypeScript中的怪语法 如何处理undefined 和 null undefined的含义是:一个变量没有初始化. null的含义是:一个变量的值是空. undefined 和 null 的最 ...
随机推荐
- unicode编码和中国的相互转换
如果你的原始文件1.properties(该文件的编码中国).要转换unicode的 在cmd通过进入你在哪里在这种类型的文件夹: native2ascii -encoding gb2312 1.pr ...
- 队列--Redis+Log4Net
队列--Redis+Log4Net Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redi ...
- CSS3+HTML5特效2 - 翻转效果
先看效果,鼠标移上去看看. back front 1. 本实例需要以下元素 a. 容器BOX b. 默认显示元素FRONT c. 翻转显示元素BACK 2. 容器BOX的Height为200px,Wi ...
- NET Framework 4.5 五个新特性
.NET Framework 4.5 五个新特性 Framework 4.5 已经开发了几个项目了,想去研究一下VS 2015 里面的跨平台..不过好像4.5内核新特性还没搞明白呢还是先看看4.5内核 ...
- IOS中TableView的用法
一.UITableView 1.数据展示的条件 1> UITableView的所有数据都是由数据源(dataSource)提供的,所以要想在UITableView展示数据,必须设置UITable ...
- 在 CentOS 上安装 Tomcat7
1. 下载 #可以直接在官网下载然后传到服务器上,也可以直接下载#下载地址:http://tomcat.apache.org/download-70.cgi 2. 安装 # tar -xzvf apa ...
- 一步一步写算法(之prim算法 中)
原文:一步一步写算法(之prim算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] C)编写最小生成树,涉及创建.挑选和添加过程 MI ...
- Python 3.3 try catch所有的错误Error,不包括Exception。关键在于 sys.exc_info()
import os; import sys; #---------------------------------------------- def main( ) : try : a = 1 / 0 ...
- 搭建环境Visual Studio 2013 社区版
搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual St ...
- CentOS 7 结构体GCC 4.8.2 32位编译环境
centos 7 结构体gcc 32位编译环境 1介绍 1.1背景 学习新 C++ 2011和C11标准. 1.2使用软件 CentOS 7(Linux version 3.10.0-123.el7. ...