php入门基础篇-语法
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-22 22:40:03 浏览: 评论:0
这是一篇简单的php语法入门篇,有需要的朋友可参考一下.
一、双引号与单引号
变量可以在双引号中执行,但用 define 的常量在两种单、双引号中都是不可执行的:
实例代码如下:
- $var = 'sofish';
- echo 'im $var'; // => 'im $var'
- echo "im $var"; // => 'im sofish'
- define('NAME', 'sofish');
- echo 'im NAME'; // => 'im NAME'
- echo 'im ' . NAME; // => 'im sofish'
在 JS 中引号内不可以渲染任何变量.
二、变量的定义
使用 $ 符,而不是 var 关键字;有真正的常量,用 define 函数,一经定义,一可改变.
实例代码如下:
- // JS 中我们用 var name = 'sofish';
- $name = 'sofish';
- // JS 中我们用 var NAME = sofish; 而且是可以改变的
- define('NAME', 'sofish');
- // 在这里会报错,因为 NAME 已经被定义,而 JS 可以随时改变
- define('NAME', 'error');
三、数组
排序:
可以使用 shuffle(),在 JS 中我们通常使用 Math.random 来设定在某个范围内,访问数组的下标;如果用数字来排序,小数点会被忽略,所以如果想准确地用数字排序,把数字变成字符串,比如 1.2 应写成 '1.2'.
可以字符串当 key:
实例代码如下:
- $arr = array('name' => 'sofish', 'age' => '25', 'gender' => 'male');
自动增加索引值:
下面这两个数据是相同的:
实例代码如下:
- $arr = array('1' => 'sofish', '25', 'male')
- $arr = array('1' => 'sofish', '2' => '25', '3' => 'male')
四、连字符
在 PHP 中使用 .,在 JS 中使用 +.
五、换行符
在双引号中使用 "n",'n' 是不会转成换行符的.如果你习惯使用单引号,那么可以使用 PHP_EOL:
实例代码如下:
- echo 'im sofish,' . PHP_EOL;
- echo "25 years old, n";
- echo 'male';
- // 想象一下下面这一段,在 stackoverflow 最受欢迎的回答
- // 个人不喜欢混用两种引号,不好看,但未必不好.lol?!
- 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(){})() 这样的函数来直接运行一个匿名函数,但是可以创建一个参数有默认值的函数,如:
实例代码如下:
- function fn($name, $greet = 'good moring '){
- echo $greet . $name;
- };
- // 当不传值时显示默认值,结果 >> 'good morning sofish'
实例代码如下:
- fn('sofish', 'good morning ');
- // 当传入值的时候替换默认值,结果 >> 'good afternoon sofish'
- fn('sofish', 'good afternoon ');
作用域,我还是比较喜欢 JS 中的闭包,在 PHP 中,我们来看一下下面的代码:
实例代码如下:
- $a = 'hello';
- $b = function(){
- echo $a . ' sofish.';
- };
- $b();
我们的预期结果是,’hello sofish.’.不过,我里有2个 $b,结果往往另我们意外.在 PHP 中,变量不能在自定义函数内使用,函数内部也不能使用外部已定义的变量(WTF),除非使用 global 关键字.上面的函数修改如下,则可使用:
实例代码如下:
- $a = 'hello';
- $b = function(){
- global $a;
- echo $a . ' sofish.';
- };
- $b();
我们通常说,要慎用全局变量.在这里就更需要了.
八、list() 函数
很有趣的函数,可以利用数组中的值给一组变量赋值.我们平时在 JS 中是这样使用一个数组的:
// 返回一个数组,然后,用 `[]` 下标来调用
实例代码如下:
- var cursorPos = (function(){
- // render ...
- return [posX, posY];
- })();
在 PHP 中可以使用 list() 根据数组的内容给一组变量赋值,这样我们就可以用变量来变量名来访问我们要用的值,而不是使用下标:
// 用括号内的变量来访问函数 `cursorPos` 返回的值
list($posX, $posY) = cursorPos();另外,值得一提的另一个有趣函数 ———— isset(),判断一个值非 NULL.还有诸如 is_array / is_string 这样的函数,都是在 JS 中没有提供的.像类型判断,算是 JS 中的高组内容了,只有比较熟悉和有积累的程序员都知道怎么做比较合理.
Tags: php入门基础 语法
相关文章
- ·php 读取目录所有文件信息dir()(2013-11-12)
- ·php获取当前文件所有执行的函数和类(2013-11-12)
- ·curl获取远程文件内容(2013-11-13)
- ·php检查文件是否可读和可写(2013-11-14)
- ·PHP文件操作方法问答 (2013-11-14)
- ·PHP 文件操作概述 (2013-11-14)
- ·php文件操作和获取文件信息数据 (2013-11-14)
- ·PHP开发中文件操作疑难问答(2013-11-27)
- ·file_get_contents() 与file的区别(2013-11-28)
- ·php判断文件是否存在file_exists 与 is_file详解(2013-11-29)
- ·PHP 获取文件扩展名的方法(2013-11-29)
- ·PHP中读写文件(2013-11-29)
- ·解决php中file_get_contents 读取大文件返回false问题(2013-12-08)
- ·解决file_get_contents遇到中文文件名无法打开问题(2013-12-08)
- ·PHP操作文件问答(2013-12-08)
- ·php 显示指定目录所有子文件夹(2013-12-11)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)