PHP基礎面試基礎-1
1. 變數如何定義?如何檢查變數是否定義?如何刪除一個變數?判斷一個變數是否為空的函式?
isset();unset();empty()
2. 什麼是可變變數?
一個變數的變數名可以動態的設定和使用。
$a = 'hello';
$$a = 'world';
${$a} = hello word;
3. 變數賦值方式有哪幾種?
1)直接賦值;2)變數間賦值;3)引用賦值
4. 引用和拷貝有什麼區別?
拷貝是將原來的變數內容複製下來,拷貝後的變數與原來的 變數使用各自的記憶體,互不干擾。
引用相當於是變數的別名,其實就是用不同的名字訪問同一個變數的內容。當改變其中一個變數的值時,另一個也跟著發生變化。
5. php中變數有哪些基本資料型別?
四種標量型別(布林型boolean,整型interger,浮點型float/double,字串string)
兩種複合型別(陣列array,物件object)
兩種特殊型別(資源resource,null)
6. 其它型別轉換為boolean型別時,哪些被認為是false?
布林值false,整型值0,浮點型值0.0,空白字串,字串‘0’,空陣列,特殊資料型別null,沒有設定的變數。
empty()函式在哪些情況下返回true?
布林值false,整型值0, 浮點型值0.0, 空白字串, 字串'0', array()空陣列,特殊資料型別NULL, 沒有任何屬性的物件,沒有賦值的變數。
7. 如果定義了一個變數$a ,但是沒有賦初始值
那麼$a==0嗎?
$a==false嗎?
$a==''嗎?
$a==NULL嗎?
$a===NULL嗎?
答:echo=>什麼都沒有 , var_dump=>NULL
empty($b)==true嗎?———————————— echo=>1 , var_dump=>bool(true)
此時如果輸出$a++是多少?——————— echo=>什麼都沒有 , var_dump=>NULL
如果輸出++$a又是多少?————————— echo=>1 , var_dump=>int(1)
8. 字串怎麼轉成整數,有幾種方法?怎麼實現?
強制型別轉換: (整型)字串變數名;
直接轉換:settype(字串變數,整型);
intval(字串變數);
9. 標量資料和陣列的最大區別是什麼?
一個標量只能存放一個數據,而陣列可以存放多個數據。
10. 常量如何定義? 如何檢測一個常量是否被定義?常量的值只能是哪些資料型別?
define()//定義常量
defined()//檢查常量是否定義
常量的值只能是標量型別的資料。
(此文是網上整理的,如有侵權,請聯絡本人,必刪)