1、yield 核心原理是什麼
使用場景:php開發很多時候都要讀取大檔案,比如csv檔案、text檔案,或者一些日誌檔案。這些檔案如果很大,比如5個g。這時,直接一次性把所有的內容讀取到記憶體中計算不太現實
set_time_limit(0);
$a = memory_get_usage();
function gettexts()
}foreach( gettexts() as $val)
$b = memory_get_usage();
var_dump($b-$a);
2、echo print print_r var_dump區別
echo()
可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函式,因此不能作為表示式的一部分使用。
print()
函式print()列印乙個值(它的引數),如果字串成功顯示則返回true,否則返回false。
print_r()
可以把字串和數字簡單地列印出來,而陣列則以括起來的鍵和值得列表形式顯示,並以array開頭。但print_r()輸出布林值和null的結果沒有意義,因為都是列印"\n"。因此用var_dump()函式更適合除錯。
var_dump()
判斷乙個變數的型別與長度,並輸出變數的數值,如果變數有值輸的是變數的值並回返資料型別。此函式顯示關於乙個或多個表示式的結構資訊,包括表示式的型別與值。陣列將遞迴展開值,通過縮排顯示其結構。
3 empty isset is_null區別
變數empty
var_dump(is_null($a));//報錯,且返回true
$age;
var_dump(is_null($age));//報錯,且返回true
$age = null;
var_dump(is_null($age));//true
$mengyunzhi = 1;
var_dump(is_null($mengyunzhi));//false
有以上**可以看出,我們一般用is_null來判斷已存在的變數的值是否為null。
2.isset
//isset
var_dump(isset($meng));//false
$yun = null;
var_dump(isset($yun));//false
$zhi = 1;
var_dump(isset($zhi));//true
isset用來判斷變數是否存在或者為null。細心的你可能會發現乙個有趣的現象,只要is_null為true,isset就為false,反之亦然。
3.empty
//empty
$mengyun = 1;
var_dump(empty($mengyun));//false
$test = null;
var_dump(empty($test));//true
$test = '0';
var_dump(empty($test));//true
var_dump(empty($char));//true
empty用來判斷變數存在,且值不為0,『0』,null,false,array()等等。
5、抽象類和介面的異同
1. 相同點:
(1) 兩者都是抽象類,都不能例項化。
(2) inte***ce 實現類及 abstractclass 的子類都必須要實現已經宣告的抽象方法。
2. 不同點:
(1) inte***ce 需要實現,要用 implements ,而 abstractclass 需要繼承,要用 extends 。
(2) 乙個類可以實現多個 inte***ce ,但乙個類只能繼承乙個 abstractclass 。
(3) inte***ce 強調特定功能的實現,而 abstractclass 強調所屬關係。
PHP 高階演算法 面試
class test implements iterator public function current public function key public function next public function valid 測試 t new test foreach t as k v c...
PHP高階面試題
1.寫出乙個能建立多級目錄的php函式 function createdir path,mode elseelse path aa bb cc cd 要建立的目錄 mode 0755 建立目錄的模式 createdir path,mode 測試 2.請寫一段php 確保多個程序同時寫入同乙個檔案成功...
php面試題 Linux部分(高階部分)
top ps mv find df cat chmod chgrp grep wc top 該命令提供了實時對系統處理器狀態的監控,它能夠實時顯示系統中各個程序的資源占用情況。該命令可以按照對cpu 記憶體使用和執行時間對系統任務程序進行排序顯示,同時還可以通過互動式命令進行設定顯示。ps 顯示系統...