这是一篇简单的php语法入门篇,有需要的朋友可参考一下。
一、双引号与单引号
变量可以在双引号中执行,但用 define 的常量在两种单、双引号中都是不可执行的:
代码如下 | 复制代码 |
$var = 'sofish'; define('NAME', 'sofish'); |
在 JS 中引号内不可以渲染任何变量。
二、变量的定义
使用 $ 符,而不是 var 关键字;有真正的常量,用 define 函数,一经定义,一可改变。
代码如下 | 复制代码 |
// JS 中我们用 var name = 'sofish'; // JS 中我们用 var NAME = sofish; 而且是可以改变的 // 在这里会报错,因为 NAME 已经被定义,而 JS 可以随时改变 |
三、数组
排序:
可以使用 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; |
// 想象一下下面这一段,在 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 '){ |
// 当不传值时显示默认值,结果 >> '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 中的高组内容了,只有比较熟悉和有积累的程序员都知道怎么做比较合理。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Chinese version
Chinese version, very easy to use
