PHP:相对于C#,PHP中的个性化语法
背景
今天把PHP的基本语法结构熟悉了一下,包括:变量、类型、常量、运算符、字符串、作用域和函数等,本文列举一些我需要强化记忆的结构(和C#不同)。
一些个性化的结构
foreach结构
<?php
$array = array("a"=>1, "b"=>2); foreach($array as $value) {
echo "value$value<br/>";
} foreach($array as $key=>$value) {
echo "$key=>$value<br/>";
}
?>
value1
value2
a=>1
b=>2
global和static作用域
- 在函数外声明的变量都属于全局作用域,函数内的$global $var相当于$var = $Globals["var"]。
- static作用域的变量在函数首次调用的时候执行初始化,函数执行完不会清理,后续的函数调用不会再执行初始化。
<?php
$global_x = 0; function scope_test() {
static $count = 0;
global $global_x; $count++;
$global_x++; echo "$count, $global_x<br/>";
}
scope_test();
scope_test();
?>
//输出内容
1, 1
2, 2
变量的变量
<?php
$name = "Tom";
$$name = "I am tom"; echo $$name."<br/>";
echo $Tom."<br/>";
?>
I am tom
I am tom
常量定义
<?php
define("HAPPY", "幸福"); echo HAPPY."<br/>";
?>
//输出内容 幸福
字符串插入
<?php
$name = "Tom";
$$name = "I am tom"; echo "$Tom,${$name},{$$name}<br/>";
?>
I am tom,I am tom,I am tom
heredoc
<?php
echo <<<DOC
段
光
伟
DOC;
?>
//输出内容 段 光 伟
函数级别的作用域
<?php
for($i = 1; $i <= 10; $i++) {
} echo $i;
?>
//输出内容 11
函数返回多个结果
<?php
function muti_return() {
return array(1, 2);
} list($x, $y) = muti_return(); echo"($x, $y)";
?>
//输入内容 (1, 2)
备注
还有一个问题我不是很明白,明天得查查资料,这个问题是:PHP的内存是如何分配和管理的?
PHP:相对于C#,PHP中的个性化语法的更多相关文章
- 相对于C#,PHP中的个性化语法
相对于C#,PHP中的个性化语法 背景 今天把PHP的基本语法结构熟悉了一下,包括:变量.类型.常量.运算符.字符串.作用域和函数等,本文列举一些我需要强化记忆的结构(和C#不同). 一些个性化的结构 ...
- 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 的最 ...
随机推荐
- java1.8环境配置+win10系统
Java环境配置相关 Java jdk 1.8版本的环境配置和1.7版本 存在一些差异,当然不同的操作系统可能会对jdk配置有一定的变化.本文我主要说1.8版本的jdk在window10 系统上的配置 ...
- Jury Jeopardy(反向模拟)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAy8AAAI7CAIAAABqfzNeAAAgAElEQVR4nOy9e2AU1d3/f2ov07q166
- JavaScript: The Evil Parts - 1
最近在看JavaScript框架设计,在讲解类型判定的时候提到了一些“匪夷所思的情况”,不过没有明说都是什么时候会出现这些情况.自己玩儿了一下,写写随笔吧.不过可能除了我找到的,还有会其他时候会出现这 ...
- float数据类型
学习一门语言都要打好基础,前面的知识可能看着无聊,但是很重要,能够让我们打好坚实的基础,一定要掌握int.float.long.字符串.列表.元组.集合.字典.函数和类的基础常用的操作. 下面来看一看 ...
- LR11中自定义函数web_custom_request请求
Action() { char * ip,temp; int state; double time_elapsed, duration, waste; merc_timer_handle_t time ...
- bzoj 1113
思路:对于两张高度一样的海报 i, j, 即 y[ i ] = y[ j ], 如果对于任意i < k < j 有y[ k ] > y[ i ] && y[ k ] ...
- Redis实战配置(三)
程序配置 我们安装好了Redis的系统服务,此时Redis服务已经运行. 现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息: ...
- python 计算md5
import hashlib src = "afnjanflkas" m2 = hashlib.md5() m2.update(src) print m2.hexdigest() ...
- 网页后门工具laudanum
网页后门工具laudanum laudanum是Kali Linux预先安装的Web Shell工具.它支持多种Web后台技术,如ASP.ASP.net .JSP.PHP.Coldfusion.它提 ...
- python 多进程操作
由于python 多线程是无法在多核上发挥优势的,所以才用多进程的方式来折中将这个问题解决. from multiprocessing import Pool import os def f(x): ...