php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量
生活随笔
收集整理的這篇文章主要介紹了
php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
php中數據類型:
php中有7種數據類型,分別是:
//1.String字符串,用引號包裹的字符,如:$str = 'hello word';//2.Integer整型,可以是正數或負數,有十進制、十六進制、八進制,不能有小數點、空格、逗號等符號,如:$num = 123;//3.Float浮點型,指帶小數部分或指數形式的數字,如:$num = 5.2;$num2 = 2e;//4.Boolean布爾型,值為true或false,如:$bool = false;//5.Array數組,php中有三種類型數組:數值數組、關聯數組、多維數組,如:$arr = array(1,'2','false');//數值數組,即常見數組$arr = array("name"="jack","age"=18);//關聯數組,帶有指定鍵的數組$arr = array(1,2,array(3,4));//多維數組,包含一個或多個數組的數組//6.Object對象,php中的對象使用class關鍵字聲明類對象,類是可以包含屬性和方法的,如:class Person{// 屬性:$name = 'jack';$age;// 構造方法:function __construct($ages){$this->age=$ages;}// 方法:function say(){echo "{$this->name}---- {$this->age}";}}$per=new Person(20);$per->say();//7.NULL,表示沒有值,如:$nulls = null;數組排序:
php中提供了多個根據數字或字母對數組進行排序的方法,具體如:
//sort(arr);升序排序//rsort(arr);降序排序//asort(arr);根據關聯數組的值,升序排序//ksort(arr);根據關聯數組的鍵,升序排序//arsort(arr);根據關聯數組的值,降序排序//krsort(arr);根據關聯數組的鍵,降序排序php中循環語句:
php中提供了while、do-while、for、foreach循環,具體如下:
//while(條件){代碼塊}:當條件成立時執行代碼塊,如:while($num == 1){echo true;}//do{代碼塊}while(條件):先執行至少一次代碼塊,在通過條件判斷是否繼續執行代碼塊,如do{echo 'hello';}while($str == 'hello');//for(初始值,條件,增量){代碼塊}:根據初始值是否滿足條件,滿足則執行代碼塊;不滿足則執行增量再判斷條件,是否要執行代碼塊,依次不斷執行,如:for($i = 0;$i < 5;$i++){echo i;};//foreache($arr as $value){代碼塊;},foreach用于遍歷數組,當為普通數組時$value即為數組元素;當為關聯數組時,$value是數組中的一項,要拿到具體的值需要加下標;或者可以用兩個參數接收數據,此時一個是鍵。另一個是值,如foreach($arr as $value){echo $value;}foreach($arr as $data){echo $data[id];}foreach($arr as $key => $value){echo $key . '---' . $value;}php中混編:
php中注釋://
//普通嵌入php代碼:<p><?php echo 'hello'; ?></p>//語句混編:<?php if ($age>18){ ?><p>成年人</p><?php }else{ ?><p>未成年</p><?php } ?> <?php if($age > 18): ?><p>成年人</p><?php else: ?><p>未成年</p><?php endif ?>//指令式語句:<?php if(true):echo 'hello';endif;if(true):each 'hello'else:each 'word'endif;?>php操作本地文件流程:
//1.php中提供了讀取文件的方法,它會把文件內容以字符串的方式返回$str = file_get_contents('文件URL');//2.php提供了解析字符串的方法explode("割開符",字符串),它將解析好的字符串以數組形式返回,需要注意的是:轉移符要用雙引號,否則解析失敗$arrData = explode("\n",str);//3.通過循環將數組中的數據打印出來:foreach($arrData as $data){var_dump($data);};php中常用API:
API:Application Programming Interface(應運程序編程接口),接口都是提供某種特定能力的實物,特點是有輸入和輸出,在開發時用到的接口稱之為API。任何編程語言本身沒有太多能力,大多數能力來源于API。php它有1000+的內置函數,不是每一個函數都可以直接調用,有的是需要安裝或者調用額外的插件擴展。
| strtolower(str) | 將字符串str轉換為小寫 |
| trim(str) | 去掉字符串兩頭的空格; 去除字符串左邊的空格:ltrim(’ str’);去除字符串右邊的空白格:rtrim('hello ') |
| substr(str,index) | 從字符串str的index位開始截取并返回截取的字符串; 截取寬字符集:mb_substr(‘原字符串’,截取的長度) |
| print_r() | 輸出數組的每一項的值和 var_dump()相似 |
| strtoupper(str) | 將str裝換為大寫字母 |
| strpos(str,s) | 查找字符串str中首次出現的字符s,返回s的位置;寬字符查找 mb_strpos(‘原字符串’,‘要查找的部分’) |
| str_replace(targstr,repstr,str) | 替換字符串,將str中的targstr替換成repstr |
| str_repeat(str,n) | 重復字符串,將字符str重復n次 |
| explode(’\n’,‘str’) | 以\n分割字符串str |
| array_keys(arr)或array_value(arr) | 獲取關聯數組arr中的鍵或值 |
| array_key_exists(‘key’,arr) | 判斷arr數組中是否存在key鍵,返回的是一個布爾值 |
| array_unique(arr) | 去除數組arr中重復的元素 |
| array_push(arr,ele1,ele2,…) | 將一個或者多個元素追加到arr數組中 |
| array_pop(arr) | 刪除數組arr中最后一個元素 |
| count(arr) | 返回數組arr的長度 |
| in_array(ele,arr,boolean) | 檢測數組arr中是否存在ele元素,存在返回1,否則什么也不反回;參數三是一個布爾值,當為true時表示查找ele數據類型和檢測數組arr數據類型一致 |
| array_search(ele,arr) | 返回元素ele在數組arr中的鍵(下標) |
| time() | 返回的是從1970/1/1號起到現在的秒數值,跟js中毫秒值一個意思,但是這里是秒數,之間的進制是1000 |
| date(時間格式,時間戳) | 格式化一個時間戳, 這里返回格林威治時間,比起東八區的時間少8小時。為了這個時間是中華人民共和國時間,可以寫入代碼: date_default_timezone_set(‘PRC’)或者配置php.ini文件中 date.timezone = PRC |
| strtotime(時間字符串) | 對已有時間字符串做格式化 |
| basename(url,php) | 返回url路徑中文件名部分,第二個參數可選,表示文件擴展名 |
| dirname() | 返回路徑中除文件名部分 |
| copy() | 復制文件 |
| strlen(str)和 mb_strlen(‘寬字符集’) | 獲取str字符串的長度, 中文屬于寬字符集,每個字占三個字符,strlen()只能獲取拉丁文字符的長度, php中專門給寬字符集添加了一套API----所有的API都是mb_xxx |
| phpinfo() | 用于打印php信息的API |
| uniqid() | 隨機返回一個不重復的數字 |
| json_decode(json,true) | 將json格式字符串解析為關聯數組 |
| json_encode(arr) | 將關聯數組arr裝換為json格式字符串 |
| file_put_contents(‘test.json’,jsonstr) | 將json格式的字符串替換到test.json文件中 |
| header() | 設置文件響應頭,可以處理網頁重定向、響應文件格式等,常用于網頁重定向和文件下載 |
| array_splice(arr,index,length) | 刪除數組arr中索引index開始length長度的元素 |
| pathinfo(path,options) | 以數組的形式返回路徑path,options有四個關鍵字參數用于返回具體的路徑中某部分,其詳情閱讀官方文檔 |
| list(el1,el2…)=[arr1,arr2…] | 接收數組中對應位置的每一個元素,常用于已知生日計算年齡 |
| unset(data) | 刪除data數據 |
創建函數:
php中函數和其他語言中函數基本一致,函數名應該以字母或者下劃線開頭,函數名中可以有數字,如:
//簡單的函數:function hello(){echo 'hello';};//傳入參數的函數,參數可以是多個,中間用逗號隔開即可,如:function sum($a,$b){echo $a + $b;}//有返回值的函數:function getHello(){return 'hello';}魔術常量:
php中所謂的魔術常量指:在不同的位置,常量的結果不同,它們的寫法不區分大小寫,php中有八個,分別如下:
//1.__LINE__ 返回當前代碼所在行數,此常量放到不同的代碼行,返回不同的代碼行,如:echo __LINE__;//2//2.__FILE__ 返回當前文件的絕對路徑和文件名,如:echo __FILE__;//如:F:\test\index.php//3.__DIR__ 返回當前文件的絕對路徑,如:echo __DIR__;//如:F:\test//4.__FUNCTION__ 返回當前函數的函數名,函數名區分大小寫,如:function myFn(){echo __FUNCTION__;};myFn();//myFn//5.__CLASS__ 返回當前class類的名稱,如:class person {function ech(){echo __CLASS__;}};$per = new person();$per->ech();//person//6.__TRAIT__ 實現代碼復用,php是單繼承的語言(一個子類只能有一個父類),但是通過trait可以實現多繼承,寫法和類相似。如:trait cat {//trait聲明,trait中一般只添加方法,不能實例化一個對象,trait可以嵌套trait,function eat(){echo '吃';};};trait monkey{function run{echo '跑';}};trait dog {use monkey;//嵌套使用traitfunction wo(){echo '旺';};function eat(){echo '吃肉';};};calss Animal{use cat,dog;//使用trait,使用trait用use關鍵字,若要使用多個trait,則在后面用逗號隔開//use cat,dog{當使用多個trait且里面方法有命名相同的時,可以在后面加{},括號里面使用insteadof進行替換://cat::eat insteadof dog; cat中eat方法替換為dog中//dog::eat as dogeat; 或者給dog中的eat方法起別名//}};$animals = new Animal();$animals->eat();//吃$animals->run();//跑//7.___METHOD__ 返回函數名,方法定義的名字,如:function fntest(){echo __METHOD__;};fntest();//fntest//8.__NAMESPACE__ 返回當前命名空間的名稱,如:namespace mydemo;echo __NAMESPACE__;//mydemo提示:本文圖片等素材來源于網絡,若有侵權,請發郵件至郵箱:810665436@qq.com聯系筆者刪除。
筆者:苦海
總結
以上是生活随笔為你收集整理的php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学python最重要的是_Python学
- 下一篇: php 网站上传大小限制吗,配置PHP程