VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php入门基础篇-语法

这是一篇简单的php语法入门篇,有需要的朋友可参考一下.

一、双引号与单引号

变量可以在双引号中执行,但用 define 的常量在两种单、双引号中都是不可执行的:

实例代码如下:

  1. $var = 'sofish'
  2. echo 'im $var'// => 'im $var' 
  3. echo "im $var"// => 'im sofish' 
  4. define('NAME''sofish'); 
  5. echo 'im NAME'// => 'im NAME' 
  6. echo 'im ' . NAME; // => 'im sofish' 

在 JS 中引号内不可以渲染任何变量.

二、变量的定义

使用 $ 符,而不是 var 关键字;有真正的常量,用 define 函数,一经定义,一可改变.

实例代码如下:

  1. // JS 中我们用 var name = 'sofish'; 
  2. $name = 'sofish'
  3. // JS 中我们用 var NAME = sofish; 而且是可以改变的 
  4. define('NAME''sofish'); 
  5. // 在这里会报错,因为 NAME 已经被定义,而 JS 可以随时改变 
  6. define('NAME''error'); 

三、数组

排序:

可以使用 shuffle(),在 JS 中我们通常使用 Math.random 来设定在某个范围内,访问数组的下标;如果用数字来排序,小数点会被忽略,所以如果想准确地用数字排序,把数字变成字符串,比如 1.2 应写成 '1.2'.

可以字符串当 key:

实例代码如下:

  1. $arr = array('name' => 'sofish''age' => '25''gender' => 'male'); 

自动增加索引值:

下面这两个数据是相同的:

实例代码如下:

  1. $arr = array('1' => 'sofish''25''male')  
  2. $arr = array('1' => 'sofish''2' => '25''3' => 'male')  

四、连字符

在 PHP 中使用 .,在 JS 中使用 +.

五、换行符

在双引号中使用 "n",'n' 是不会转成换行符的.如果你习惯使用单引号,那么可以使用 PHP_EOL:

实例代码如下:

  1. echo 'im sofish,' . PHP_EOL; 
  2. echo "25 years old, n"
  3. echo 'male'
  4. // 想象一下下面这一段,在 stackoverflow 最受欢迎的回答 
  5. // 个人不喜欢混用两种引号,不好看,但未必不好.lol?! 
  6. echo 'im sofish' . "n" . '25 ...'在 JS 中,两种引号内写 n 都是可行的. 

六、if 语句

在 PHP 中另一个分支用 elseif 而在 JS 中使用 else if,中间有一个空格之差.

UPDATE: 2012.02.29 5:28 pm:Andor: "其实 if 分支的另一个分支用 elseif 和 else if 都是可以的".

七、函数

在 PHP 中不可以使用 (function(){})() 这样的函数来直接运行一个匿名函数,但是可以创建一个参数有默认值的函数,如:

实例代码如下:

  1. function fn($name$greet = 'good moring '){ 
  2.     echo $greet . $name
  3. }; 
  4. // 当不传值时显示默认值,结果 >> 'good morning sofish' 

实例代码如下:

  1. fn('sofish''good morning '); 
  2. // 当传入值的时候替换默认值,结果 >> 'good afternoon sofish' 
  3. fn('sofish''good afternoon '); 

作用域,我还是比较喜欢 JS 中的闭包,在 PHP 中,我们来看一下下面的代码:

实例代码如下:

  1. $a = 'hello'
  2. $b = function(){ 
  3.     echo $a . ' sofish.'
  4. }; 
  5. $b(); 

我们的预期结果是,’hello sofish.’.不过,我里有2个 $b,结果往往另我们意外.在 PHP 中,变量不能在自定义函数内使用,函数内部也不能使用外部已定义的变量(WTF),除非使用 global 关键字.上面的函数修改如下,则可使用:

实例代码如下:

  1. $a = 'hello'
  2. $b = function(){ 
  3.     global $a
  4.     echo $a . ' sofish.'
  5. }; 
  6. $b(); 

我们通常说,要慎用全局变量.在这里就更需要了.

八、list() 函

很有趣的函数,可以利用数组中的值给一组变量赋值.我们平时在 JS 中是这样使用一个数组的:

// 返回一个数组,然后,用 `[]` 下标来调用

实例代码如下:

  1. var cursorPos = (function(){ 
  2.      // render ... 
  3.      return [posX, posY]; 
  4. })(); 

在 PHP 中可以使用 list() 根据数组的内容给一组变量赋值,这样我们就可以用变量来变量名来访问我们要用的值,而不是使用下标:

// 用括号内的变量来访问函数 `cursorPos` 返回的值

list($posX, $posY) = cursorPos();另外,值得一提的另一个有趣函数 ———— isset(),判断一个值非 NULL.还有诸如 is_array / is_string 这样的函数,都是在 JS 中没有提供的.像类型判断,算是 JS 中的高组内容了,只有比较熟悉和有积累的程序员都知道怎么做比较合理.

 

出处:http://www.phpfensi.com/php/20140322/2443.html


相关教程