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的内存是如何分配和管理的?
页:
[1]