PHP基礎(chǔ)

PHP語言是一門后端語言(Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言語法吸收了C語言JavaPerl的特點,利于學習,使用廣泛,主要適用于Web開發(fā)領(lǐng)域,它要想正常運行是需要運行環(huán)境支持的。也就是說我們平時所說的本地開發(fā)環(huán)境。因為PHP是一門主要是用來做網(wǎng)站的語言,因此,我們在搭PHP開發(fā)環(huán)境的時候,避免不了就是要同時安裝相關(guān)的web支持軟件。主要有以下幾種常用的:
(1)Apache、IIS、Nginx等web服務器
(2)PHP
(3)Mysql、SQLserver、Orcal等數(shù)據(jù)庫
WINDOWS上常用的集成安裝包很多,比如:Appserv,WAMP,phpstudy等,LINUX上有一款不錯的就是LNMP集成包。官方網(wǎng)站有詳細安裝使用說明,網(wǎng)址為:http://www.lnmp.org
PHP開發(fā)軟件:“工欲善其事,必須利其器!”;

關(guān)于WAMP無法啟動Apache服務器的解決方案

1.如果是80端口被占用,那么修改httpd.conf文件

Listen 0.0.0.0:80
Listen [::0]:80
//修改為
Listen 0.0.0.0:8080
Listen [::0]:8080

修改完后重啟wampserver,或者是查看wamp中Apache里面的service測試80端口,查看是什么程序占用了80端口服務,然后關(guān)閉相應的程序;
2.如果80端口沒被占用,還是無法啟動Apache,則:
運行 cmd
cd 到 WampServer 安裝目錄 如 wamp\bin\apache\Apache2.x.x\bin
運行 httpd.exe -e debug
會提示 Apache 因何不能啟動

PHP基礎(chǔ)語法

<?php echo 'hello word';?>

PHP代碼可以放的位置,純PHP文件,不要結(jié)束的?>標記;

如果文件內(nèi)容是純 PHP 代碼,最好在文件末尾刪除 PHP 結(jié)束標記。這可以避免在 PHP 結(jié)束標記之后萬一意外加入了空格或者換行符,會導致 PHP 開始輸出這些空白,而腳本中此時并無輸出的意圖。

指令分隔符,和JS一樣就是一個英文的分號“;”
注釋和JS基本一樣,(js不能用#注釋)(#單行,//單行,/*多行*/);

PHP數(shù)據(jù)類型

整型 --比如:1,2,0
浮點型 --1.2,1.0
字符串 --非數(shù)字都是字符串,字符串必須用雙引號或單引號包起來。換句話說,數(shù)字被引號包起來,數(shù)字也就成了字數(shù)串。
布爾型 --真(true)或假(false)
對象 --Object
NULL --空 唯一個值就是NULL
NaN --Not a Number這不是一個數(shù)字
undefined --未定義
0,false,null,undefined,'',NaN,都代表假;

PHP單引號和雙引號區(qū)別及用法

單引號中的變量不會被解釋,雙引號中的變量是被解釋,編程過程中普通的字符串盡量用單引號,解析速度快;不像JS,引號中的任何字符都是字符串的一部分,PHP中雙引號里面的變量還是變量,不是字符串的一部分。

<?php
$int = 1;
echo '輸出$int';
echo "輸出$int";

PHP變量

變量以 $ 符號開頭,其后是變量的名稱,變量名稱必須以字母或下劃線開頭,變量名稱不能以數(shù)字開頭,變量名稱只能包含字母數(shù)字字符和下劃線(A-z、0-9 以及 _),變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量),不同的英文單詞之間建議使用下劃線“_”進行分隔比如$my_apple,$this是PHP的保留字,不能用來定義成一個自定義的變量;
PHP中定義大段文本內(nèi)容的語法:

<?php
header("Content-type:text/html;charset=utf-8");
$string = <<<GSY
 這里定義大段文本內(nèi)容,我比定義普通字符串的容量還要大哦。
GSY;
echo $string; 

Global定義全局變量說明:global $a;global只能用在function內(nèi)部;

<?php
$test = 123;
abc();
function abc() {
  echo $test;
}
$test = 123;
abc();
function abc() {
  global $test;
  echo $test;
}

PHP中的可變變量:就是把變量名動態(tài)的設置和調(diào)用:

<?php
header("Content-type:text/html;charset=utf-8");//防止頁面出現(xiàn)亂碼
$str_name = 'string';
$string = 'I Like PHP';
echo $$str_name ;

PHP變量的值引用:變量的引用,也叫變量的值傳遞;就是一個&符號的在變量中的運用,例如:

$a = 1;
$b = &$a;
echo $b;

PHP超全局變量

PHP 中的許多預定義變量都是“超全局的”,這意味著它們在一個腳本的全部作用域中都可用。在函數(shù)或方法中無需使用關(guān)鍵字 global $variable; 就可以訪問它們。
這些超全局變量是:

  • $GLOBALS —— 引用全局作用域中可用的全局變量
  • $_SERVER —— 服務器和執(zhí)行環(huán)境信息
  • $_REQUEST —— HTTP Request 變量
  • $_POST —— HTTP POST 變量
  • $_GET —— HTTP GET 變量
  • $_FILES —— HTTP 文件上傳變量
  • $_ENV —— 環(huán)境變量
  • $_COOKIE —— 會話機制
  • $_SESSION —— 會話機制

錯誤抑制符

@可以抑制錯誤的報道,例如數(shù)據(jù)庫連接、數(shù)據(jù)表的操作等,用的可能比較多。主要是放在一些可能會出現(xiàn)異常情況的函數(shù)前面。下面這個是文件刪除出錯被抑制。因此,雖然文件不存在,它也不會報錯。如果去掉@符號,下面的程序就要報文件不存在類似的錯誤了。

@unlink('e:/www/qinsiwang/www/001.html');

PHP常量定義

PHP中通常用define()函數(shù)來定義常量,關(guān)鍵字const也可用來定義常量,但必須是在(class)類文件內(nèi)部使用;

<?php
define('PI',3.1415926);//定義一個不變的圓周率
$r = 10;//假設圓半徑為10
echo '半徑為10個單位的圓面積是'.$r*PI;

包含語句

包含(也叫引入),主要是將其它文件引入到當前文件內(nèi)部使用。如同復制粘貼的原理。
include , include_once
require , require_once
區(qū)別:
(1)include和require遇到包含不存在的文件的時候,報錯級別不同。include報一個警告級別的錯誤,而require報一個致命級別錯誤。
(2)inlcude包含的文件不存在的時候,它后面的程序會繼續(xù)往下運行,而require后面的程序不再運行。
(3)帶_once的包含語句,在運行的時候會檢查這一行的前面有沒有包含,如果有,本次就不再包含,如果沒有,就包含。
語法舉例:

require '1.php';
echo 'hello';

PHP中的輸出語句

echo 輸出一個普通的變量
print_r($a)輸出數(shù)組或?qū)ο螅敵鰰r不帶類型
var_dump($a) 輸出任何類型的數(shù)據(jù),會帶數(shù)據(jù)類型
var_export($a) 輸出或返回一個變量的字符串表示,形式為符合原生PHP類型的語法形式
exit 程序結(jié)束命令
die('abc'); 輸出并停止運行
順便記一下PHP輸出當前的PHP配制信息函數(shù):
phpinfo();

PHP運算符

  • 算術(shù)運算符

+ - * /
%取模:表示取余數(shù),/取的是商
例:
5 % 2 = 1;
5 / 2 = 2.5;
++ 累加 前加,后加
-- 累減 前減,后減
$i = 1;
echo $i++;

  • 賦值運算符

=(賦值) += -= /= *= %=

  • 比較運算符

== 兩邊的值進行比較
=== 全等,不僅比較值,還比較兩個值的類型
!= 不等于
!== 全不等于
> < >= <=
舉例說明:
$i = '1';

$r = 1;
if ($i == $r) {
echo '相等';
} else {
echo '不相等';
}

  • 邏輯運算符

&& --and
|| --or
!非

  • 三元運算符

$str = (5>1) ? '大于' : '小于';

流程控制語句

  • 條件語句
//單一條件分支結(jié)構(gòu)
if (5>1) {
    echo '大于';
} else{
    echo '小于';
}
//多條件分支結(jié)構(gòu)
$result = 50;
if ($result >= 90) {
    echo '優(yōu)秀';
} elseif ($result >= 60 and $result <= 90) {
    echo '合格';
} else {
    echo '不及格';
}
  • for循環(huán)
for ($i=0;$i<=10;$i++) {
    echo ($i%2) == 0 ? $i.'是偶數(shù)'.'<br>' : $i.'是奇數(shù)'.'<br>';
}
  • switch循環(huán)
date_default_timezone_set('PRC');//Republic of China
$hour = date('H');
switch ($hour) {
    case '08':
        echo '早上好';
        break;
    case '12':
        echo '中午好';
        break;
    case 17:
        echo '下午好';
        break;
    default:
        echo '您好';
        break;
}
  • while循環(huán)
$r = 1;
while ($r<0) {
    echo $r.'<br>';
    $r++;
}
  • do while循環(huán)
$r = 1;
do {
    echo $r;
} while($r<0);
  • foreach循環(huán)
$arr = array('name'=>'張三','age'=>24,'sex'=>'男');
foreach ($arr as $key => $value) {
    echo '下標為:'.$key.'的值為:'.$value.'<br>';
}
//$key是可以省略的,$value不能省略,$key和$value只是一個變量名,不固定不變的名稱
  • 補充說明

break;
在循環(huán)語句里,遇到break,程序就直接跳出循環(huán)體。不再運行循環(huán)體里面的程序。
continue;
在循環(huán)語句里,遇到continue,程序會回到循環(huán)語句的起始位置重新開始循環(huán)。continue之后的語句本次不再運行。
計算程序運行時間

PHP數(shù)組

數(shù)組是對大量數(shù)據(jù)進行組織和管理的有效手段之一,通過數(shù)組的強大功能,可以對大量性質(zhì)相同的數(shù)據(jù)進行存儲、排序、插入及刪除等操作,從而可以有效的提高程序開發(fā)效率以及改善程序的編寫方式。
數(shù)組有多種表現(xiàn)形式以及靈活性,數(shù)組的維數(shù),主要看括號有幾層。
在PHP中有兩種數(shù)組:索引數(shù)組和關(guān)聯(lián)數(shù)組。

PHP的超時控制

php腳本文件默認的運行超時時間是30秒,即運行超過30秒無返回結(jié)果,則php腳本會提示超時錯誤。但是有時候確實有超過30運行時間限制的需求,這里講解幾種方法來調(diào)整這個時間限制。
1、打開php.ini文件,找到 max_execution_time,將后面的數(shù)字改成你想要的時間,單位是秒。
這種方式修改后需要重啟服務,一般不建議采用這種方法。
2、使用PHP的ini_set()函數(shù)設置,設置方法:
ini_set("max_execution_time",1800);
設置語句必須是php文件的第一行。
3、使用PHP的set_time_limit()函數(shù)設置,設置方法:
set_time_limit(1800);
設置語句必須是php文件的第一行。

任務

反復練習數(shù)組的創(chuàng)建,并運用所學循環(huán)語句進行循環(huán)輸出;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 一、php可以做什么 php是一種可以在服務器端運行的編程語言,可以運行在Web服務器端。 php是一門后臺編程語...
    空谷悠閱讀 3,137評論 4 97
  • [if !supportLists]1.[endif]PHP基礎(chǔ)(變量的八種類型、empty和isset、null...
    4e855d444c9f閱讀 598評論 0 0
  • Alcatraz是一個能幫助我們管理Xcode插件,模板及顏色配置的工具。安裝命令如下,安裝成功后在Xcode的w...
    Elena_li閱讀 183評論 0 0
  • 閨女少時春至,楹聯(lián)無歷書抄,萬般與父念童謠,掀起芳齡生巧。 慈父暮年勤勉,千金燕語妖嬈,說文解字樂滔滔,牽動秋風致稿。
    喬玉兒閱讀 282評論 2 5