搜尋
首頁php教程php手册php入门基础篇-语法

php入门基础篇-语法

Jun 13, 2016 am 10:14 AM
php一下入門基礎朋友簡單文法

这是一篇简单的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 中的高组内容了,只有比较熟悉和有积累的程序员都知道怎么做比较合理。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具