相对于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 的最 ...
随机推荐
- [WPF]程序全屏
原文:[WPF]程序全屏 代码: 使用:
- CSS下背景属性background的使用方法
背景颜色(background-color) CSS可以用纯色来作为背景,也可以将背景设置为透明,background相当于xhtml中的bgcolor. 它的两个值: transparent(默认值 ...
- CSS3 选择器读解
文章资料来自于W3Cfuns CSS3.0 四个基本的结构性伪类选择器:root 此选择器将绑定到页面的根元素中,所谓根元素,是指文档树中最顶层的元素,也就是<html>部 分. < ...
- 小言HTTP Authentication
什么是Authentication? 首先解释两个长的非常像.easy混淆的单词,Authentication(鉴定.认证)和Authorization(授权). Authentication就是要证 ...
- 使用OpenCV玩家营造出一个视频控制(没有声音)
说明:OpenCV计算机视觉库,所以使用的图像或视频处理,因此,没有任何声音在播放视频的临时 软件:使用OpenCV制播放器(无声音) 功能说明:新建播放窗体.加入进度条能够拖动视频播放. 流程图: ...
- dd命令简单易用,例如
dd命令简单易用,例如 bs单位,count为写入的范围区间,例如以下举例: 例:使用dd清除vote disk和ocr(裸设备) $dd if=/dev/zero of=/dev/rrac_ocr ...
- Thrift学习
Thrift学习 一:thrift介绍 Thrift是facebook开发的用来处理各不同系统之间数据通讯的rpc服务框架,后来成为apche的开源项目.thrift支持多种程序语言,包括Java,P ...
- 单极型ADC如何测量负电压?
最常用的方法是使用一个运放做成加法器将负电压抬到0V以上,如果这样的输出超过了最大输出电压那么再使用比例衰减就可以办到了. 参考下面的讨论: http://www.amobbs.com/thread- ...
- 微软的权限框架Asp.Net Identity
Asp.Net Identity 深度解析 之 注册登录的扩展 关于权限每个系统都有自己的解决方案,今天我们来讨论一下微软的权限框架Asp.Net Identity ,介绍如下 http://w ...
- 个推 Spark实践教你绕过开发那些“坑”
Spark作为一个开源数据处理框架,它在数据计算过程中把中间数据直接缓存到内存里,能大大提高处理速度,特别是复杂的迭代计算.Spark主要包括SparkSQL,SparkStreaming,Spark ...