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作用域

  1. 在函數外聲明的變量都屬於全局作用域,函數內的$global $var相當於$var = $Globals["var"]。
  2. 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的內存是如何分配和管理的?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM