日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP学习笔记1

發(fā)布時(shí)間:2024/4/13 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP学习笔记1 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

PHP基礎(chǔ)知識(shí)

? ? PHP使用<?php ... ?>內(nèi)嵌于html中, 使用echo輸出html語(yǔ)句. 例如:

<?phpecho '<p>Order processed.</p>'; ?>

????通常, 在form表單中獲取的變量值存儲(chǔ)在$_POST, $_GET, $_REQUEST. 其中submit為GET存儲(chǔ)在$_GET中, 為POST存儲(chǔ)在$_POST中, 默認(rèn)都存儲(chǔ)在$_REQUEST中.

? ? 而PHP中變量以"$"開(kāi)頭.

一個(gè)實(shí)際例子:

orderform.html:

<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title></head><body><form class="" action="info.php" method="post"><table border="0"><tr bgcolor="#cccccc"><td width="150">Item</td><td width="50">Quantity</td></tr><tr><td>Tires</td><td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td></tr><tr><td>Oil</td><td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td></tr><tr><td>Spark Plugs</td><td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td></tr><tr><td colspan="2" align="center"><input type="submit" value="Submit Order" /></td></tr></table></form></body> </html>

info.php:

<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title></head><body><?php $tireqty = $_POST['tireqty'];$oilqty = $_POST['oilqty'];$sparkqty = $_POST['sparkqty'];echo '<p>Your order is as follows: </p>';echo $tireqty.' tires<br />';echo $oilqty.' bottles of oil<br />';echo $sparkqty.' spark plugs<br />';?></body> </html>

這里, 變量和字符串使用點(diǎn)號(hào)(".")進(jìn)行連接. 而如果在雙引號(hào)中, 則變量會(huì)被解釋, 例如:

echo $tireqty.' tires<br />';

等價(jià)于:

echo "$tireqty tires<br />";

但單引號(hào)中一切都認(rèn)為是字符串.

? ? 使用define語(yǔ)法定義常量:

define('PI', 3.1415926);

理解PHP變量:

$GLOBALS: 全局變量數(shù)組.

$_SERVER: 服務(wù)端變量數(shù)組.

$_GET: 使用GET方法傳遞過(guò)來(lái)的變量.

$_POST: 使用POST方法傳遞過(guò)來(lái)的變量.

$_COOKIE: 所存儲(chǔ)的cookie變量數(shù)組.

$_ENV: 環(huán)境變量數(shù)組.

$_REQUEST: $_GET/$_POST/$_COOKIE的集合.

$_SESSION: session變量的數(shù)組.

在變量引用方面, PHP使用"&"來(lái)解決:

$a = 5; $b = $a; $a = 7; // $b依舊等于5

而如果使用了"&":

$a = 5; $b = &$a; $a = 7; // 則$b也等于7

使用unset來(lái)解除變量所關(guān)聯(lián)的引用:

unset($a);

在``字符內(nèi)可填寫(xiě): 可執(zhí)行的操作:

$out = `ls -la`; echo '<pre>'.$out.'</pre>';

而instanceof用于判斷一個(gè)對(duì)象是否是一個(gè)特定類(lèi)的實(shí)例:

class sampleClass{}; $myObject = new sampleClass(); if ($myObject instanceof sampleClass)echo "myObject is an instance of sampleClass";

使用gettype/settype來(lái)讀取/設(shè)置變量的類(lèi)型:

$a = 56; // integer echo gettype($a).'<br />'; settype($a, 'double'); // double echo gettype($a).'<br />';

而PHP也提供了如下函數(shù)用于判斷變量類(lèi)型:

is_array()/is_double()/is_float()/is_real()/is_long()/is_int()/is_integer()/is_string()/is_bool()/is_object()/is_resource()/is_null()/is_scalar()/is_numeric()/is_callable()

三個(gè)特殊的測(cè)試函數(shù):

isset(): 判斷變量是否存在.

unset(): 刪除變量.

empty(): 判斷變量是否為空.

使用數(shù)組

使用array進(jìn)行數(shù)組的初始化:

$arr = array(1, 2, 3, 4, 5);

而循環(huán)數(shù)組既可以使用for, 也可以使用foreach:

$arr = array(1, 2, 3, 4, 5); for ($i = 0; $i < count($arr); $i++) {echo $arr[$i].' '; } echo '<br />'; foreach($arr as $item) {echo $item.' '; }

但PHP的數(shù)組實(shí)際上為一個(gè)map結(jié)構(gòu).

$arr = array(1, 2);

實(shí)際上存儲(chǔ)為:

$arr = array("0" => 1, "1" => 2);

而map型結(jié)構(gòu), 可使用如下的循環(huán): foreach/each/list

$arr = array("a" => 1, "b" => 2); foreach($arr as $key => $value) {echo $key.' => '.$value.' '; } echo '<br />'; reset($arr); while ($ele = each($arr)) {echo $ele['key'].' => '.$ele['value'].' '; } echo '<br />'; reset($arr); while (list($key, $value) = each($arr)) {echo $key.' => '.$value.' '; }

關(guān)聯(lián)數(shù)組的函數(shù)

使用sort函數(shù)對(duì)數(shù)組進(jìn)行排序:

$arr = array('Tires', 'Oil', 'Spark Plugs'); sort($arr); foreach($arr as $key => $val) {echo $key.' => '.$val.'<br />'; }

而sort函數(shù)支持第二個(gè)參數(shù), 用于排序的判斷: SORT_REGULAR, SORT_NUMERIC, SORT_STRING.

但如果針對(duì)的是map型數(shù)組, 則可使用asort(根據(jù)value進(jìn)行排序)和ksort(根據(jù)key進(jìn)行排序):

$arr = array('Tires' => 100, 'Oil' => 10, 'Spark Plugs' => 4); asort($arr); // Spark Plugs => 4 Oil => 10 Tires => 100 foreach($arr as $key => $val) {echo $key.' => '.$val.' '; } echo '<br />'; ksort($arr); // Oil => 10 Spark Plugs => 4 Tires => 100 foreach($arr as $key => $val) {echo $key.' => '.$val.' '; } echo '<br />';

反序情況下, 使用rsort()/arsort()/krsort()即可.

亂序可使用shuffle().

字符串操作和正則表達(dá)式

使用trim()/ltrim()/rtrim()去除字符串的空白字符.

strtoupper: 將字符串轉(zhuǎn)為大寫(xiě).

strtolower: 將字符串轉(zhuǎn)為小寫(xiě).

ucfirst: 將字符串的第一個(gè)字母大寫(xiě).

ucwords: 將字符串中的每個(gè)單詞的第一個(gè)字母大寫(xiě).

explode進(jìn)行字符串的分割存儲(chǔ)于數(shù)組, 而implode/join將數(shù)組合并成字符串.

$content = "hello,world"; $arr = explode(',', $content); // hello world for ($i = 0; $i < count($arr); $i++) {echo $arr[$i].' '; } echo '<br />'; $con = implode(',', $arr); // hello,world echo $con;

substr(string str, int start[, int length]): 獲取子字符串.

strcmp()/strcasecmp()/strnatcmp(): 比較字符串.

strlen(): 獲取字符串的長(zhǎng)度.

字符串中查找子串: strstr()/strchr()/strrchr()/stristr()

strpos()/strrpos()

替換字符串: str_replace()/substr_replace()

復(fù)用代碼和編寫(xiě)函數(shù)

在PHP中可以使用require()或者include()來(lái)復(fù)用代碼. require()和include()差不多, 唯一的區(qū)別在于當(dāng)失敗時(shí)候, require()提示錯(cuò)誤, 而include()則僅僅警告.

require_once()/include_once()只加載一次文件.

reusable.php:

<?phpecho 'Here is a very simple PHP statement.<br />'; ?>

test.php:

<?phpecho 'This is the main file.<br />';require('reusable.php');echo 'The script will end now.<br />'; ?>

瀏覽器顯示:

This is the main file. Here is a very simple PHP statement. The script will end now.

PHP中, 定義函數(shù)的格式為:

function func(){// ... }

傳參部分, 也支持傳遞默認(rèn)參數(shù):

function my_function($arg1, $arg2=2, $arg3=4) {echo 'arg1:'.$arg1.'<br />';echo 'arg2:'.$arg2.'<br />';echo 'arg3:'.$arg3.'<br />'; }my_function(111, 333);

理解作用域

函數(shù)內(nèi)聲明的變量為局部變量.

函數(shù)外聲明的變量為全局變量.

超級(jí)全局變量(例如$_POST等)不分局部全局.

使用require()僅僅只是內(nèi)嵌文件, 并不會(huì)影響作用域.

關(guān)鍵字global用于定義全局變量.

變量可以使用unset()進(jìn)行刪除.

function fn() {global $var; $var = 'content'; } fn(); echo $var;

傳參通常分為傳值和傳引用. 正常情況下傳值, 特殊要修改傳入的參數(shù), 則傳引用, 參數(shù)前加"&"即可.

?

?

?

?

?

?

?

?

?

?

?

?

?

轉(zhuǎn)載于:https://my.oschina.net/voler/blog/841346

總結(jié)

以上是生活随笔為你收集整理的PHP学习笔记1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。