PHP學習 第一天

一、 使用的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 支持 種原始數據類型。

        四種表量類型

      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() 函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,經過縮進顯示其結構。

  echoprint 之間的差別:

    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、數組中的排序函數

  • sort() - 以升序對數組排序
  • rsort() - 以降序對數組排序
  • asort() - 根據值,以升序對關聯數組進行排序
  • ksort() - 根據鍵,以升序對關聯數組進行排序
  • arsort() - 根據值,以降序對關聯數組進行排序
  • krsort() - 根據鍵,以降序對關聯數組進行排序
相關文章
相關標籤/搜索