一、 使用的mac電腦,集成環境安裝的是 MAMP(Apache Server、Mysql、PHP)。php
左上角 MAMP -> Preferences ,裏面是集成環境配置。Port是環境的端口配置,Web-Server->Document Root下面是個路徑,Web-Server會在選中的文件夾搭建服務,因此PHP代碼須要保存在這個被選中的文件夾裏面。html
二、PHP環境有了,瞭解一下什麼是PHP:mysql
https://www.php.net/manual/zh/intro-whatis.phpweb
PHP(「PHP: Hypertext Preprocessor」,超文本預處理器的字母縮寫)是一種被普遍應用的開放源代碼的多用途腳本語言,它可嵌入到 HTML中。sql
和客戶端的 JavaScript 不一樣的是,PHP 代碼是運行在服務端的。數據庫
官網給了個例子:數組
<html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!"; ?> </body> </html>
我建立了一個.php文件,代碼粘進去了,訪問了一下地址。嗯,成功了。瀏覽器
三、PHP能作點兒什麼服務器
PHP 主要是用於服務端的腳本程序,所以能夠用 PHP 來完成其它的 CGI (Common Gateway Interface) 程序可以完成的工做,例如收集表單數據,生成動態網頁,或者發送/接收 Cookies。app
PHP腳本主要用於的三個領域:
服務端腳本:
PHP 最傳統,也是最主要的目標領域。開展這項工做須要具有如下三點:PHP 解析器(CGI 或者服務器模塊)、web 服務器和 web 瀏覽器。須要在運行 web 服務器時,安裝並配置 PHP,而後,能夠用 web 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。
命令行腳本:
能夠編寫一段 PHP 腳本,而且不須要任何服務器或者瀏覽器來運行它。經過這種方式,僅僅只須要 PHP 解析器來執行。這種用法對於依賴 cron(Unix 或者 Linux 環境)或者 Task Scheduler(Windows 環境)的平常運行的腳原本說是理想的選擇。
編寫桌面程序:
對於有着圖形界面的桌面應用程序來講,PHP 或許不是一種最好的語言,可是若是用戶很是精通 PHP,而且但願在客戶端應用程序中使用 PHP 的一些高級特性,能夠利用 PHP-GTK 來編寫這些程序。
PHP 最強大最顯著的特性之一,是它支持很大範圍的數據庫。使用任何針對某數據庫的擴展(例如 mysql)編寫數據庫支持的網頁很是簡單,或者使用抽象層如 PDO,或者經過 ODBC 擴展鏈接到任何支持 ODBC 標準的數據庫。其它一些數據庫也可能會用 cURL 或者 sockets,例如 CouchDB。
4、PHP類型
PHP 支持 9 種原始數據類型。
四種表量類型:
boolean、integer、float、string
三種複合類型:
array、object、callable
兩種特殊類型:
resource、NULL
array :
<?php $array = array( "foo" => "bar", "bar" => "foo", 100 => -100, -100 => 100, ); var_dump($array); ?>
5、PHP 部分語法
* var_dump() 函數用於輸出變量的相關信息。var_dump() 函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,經過縮進顯示其結構。
* echo 和 print 之間的差別:
echo - 可以輸出一個以上的字符串
print - 只能輸出一個字符串,並始終返回 1
提示:echo 比 print 稍快,由於它不返回任何值。
* $t = date("Y-m-d H:i:s") //2019-04-24 07:39:02
6、字符串函數
* strlen() : 函數返回字符串的長度,以字符計。
<?php $a = "asddddeewss"; echo strlen($a); ?>
* str_word_count() : 函數對字符串中的單詞進行計數
<?php $a = "Hello My name is haha"; echo str_word_count($a); ?>
* strrev() : 函數反轉字符串
<?php $a = "Hello My name is haha"; echo strrev($a); ?>
* strpos() : 函數用於檢索字符串內指定的字符或文本。
<?php $a = "Hello My name is haha"; echo strpos($a,"name"); ?>
* str_replace() : 函數用一些字符串替換字符串中的另外一些字符
<?php echo str_replace("world", "Kitty", "Hello world!"); // 輸出 Hello Kitty! ?>
7、運算符
<?php $x=17; $y=8; echo ($x + $y); // 輸出 25 echo ($x - $y); // 輸出 9 echo ($x * $y); // 輸出 136 echo ($x / $y); // 輸出 2.125 echo ($x % $y); // 輸出 1 ?>
8、條件語句
<?php $t=date("H"); if ($t<"10") { echo "Have a good morning!"; } elseif ($t<"20") { echo "Have a good day!"; } else { echo "Have a good night!"; } ?>
9、Switch語句
<?php $favfruit="apple"; switch ($favfruit) { case "apple": echo "Your favorite fruit is apple!"; break; case "banana": echo "Your favorite fruit is banana!"; break; case "orange": echo "Your favorite fruit is orange!"; break; default: echo "Your favorite fruit is neither apple, banana, or orange!"; } ?>
10、for循環
* for 循環
<?php for ($x=0; $x<=10; $x++) { echo "數字是:$x <br>"; } ?>
* foreach循環
value 結構 array 的循環遍歷:
<?php $colors = array(8,7,6,5,4,3,2); foreach ($colors as $value) { echo "$value <br/>"; } ?>
$key => $value 結構 array 的遍歷:
<?php $arr = array( "foo" => "bar", "bar" => "foo", 100 => -100, "asd" => array( "a" => 12, "b" => 23 ) ); foreach ($arr as $key => $value) { echo "$key: $value <br/>"; } ?>
11、PHP函數
用戶定義的函數聲明以單詞 function 開頭:
function functionName() { 被執行的代碼; }
<?php function sum($x,$y) { $z=$x+$y; return $z; } echo "5 + 10 = " . sum(5,10) . "<br>"; echo "7 + 13 = " . sum(7,13) . "<br>"; echo "2 + 4 = " . sum(2,4); ?>
12、數組中的排序函數