1. 下列哪一句不能將'john'添加到數組$user? 答:BD
A. $user[] = 'john';
B. array_add($user, 'john');
C. array_push($user, 'john');
D. $user ||= 'john';
2. 比較sort(), asort(), ksort()三個函數的用法以及使用環境。
答:sort -- 將數組的值由a-z重排,並自動替換索引從0...結束
asort --- 此函數將數組的元素由a-z重新排列,且保持原先索引值和元素的對應關係,這個函數主要是用於
需要將數組的元素重新排列。這個函數比較常用。
ksort --- 此函數將數組依照索引值由a-z重新排列
例子:
對array('a'=>111, '9'=>"orange", 6=>2, "apple");排序。
sort則返回: Array ( [0] => apple [1] => orange [2] => 2 [3] => 111 )值由a-z重排,索引也變了。
asort則返回:Array ( [10] => apple [9] => orange [6] => 2 [a] => 111 )值由a-z重排,保持索引以應
ksort則返回: Array ( [a] => 111 [6] => 2 [9] => orange [10] => apple )索引值由a-z重新排列,保持索
引以應
3. 以下代碼輸出什麼內容, 爲何。
$num = 10;
function foo(){
$num = $num * 10;
}
foo();
echo $num;
答:
結果爲10.因爲foo()中的$num是訪問不到函數外的變量的。要想訪問加上global $num;結果就成100了。
4. 引用和普通變量的區別。
答:普通變量是開闢了一塊新的存儲空間,引用是直接指向其他的存儲空間。
如:
$num = 10;
function foo($num){
$num = $num * 10;
}
foo($num);
echo $num;
調foo($num);函數時以變量傳遞,則返回10;
如果改成引用傳遞,返回100;
$num = 10;
function foo(&$num){
$num = $num * 10;
}
foo($num);
echo $num;
5. 加載類庫的方法。
答:
function __autoload($class){
require_once("./lib/".$class.'');
}
6. foo()和@foo()的區別。
答:加上@符號會屏蔽報錯提示。
如下:
$num = 10;
function foo(&$num){
$num = $num / 0;
}
foo($num);
echo $num;
大家都知道除數不能爲0。如果加上@符號後就沒有Warning: Division by zero
7. 你平時如何調試PHP代碼。
答:用echo打出調試或用exit調試。再加上火狐瀏覽器調。
8. === 的作用是什麼?舉一個例子,使用 == 返回true,但是使用 === 返回false。
答:=== 的作用是比較變量的值還比較變量的類型。==只比較值。
如下:
$str = '111';
if($str==111){//如果改成===則返回"失敗了";
echo "成功了";
}else{
echo "失敗了";
}
9. 聲明一個不含方法和屬性的類。
答:class Db {}
10. 創建一個對象myclass的'實例。
答:$db = new myclass();
11. 從類的內部訪問或者設置屬性。
答:
class DB{
private $username; //用戶名
private $userpwd; //密碼
public function test(){
$this->username='root';//給變量賦值
self::test2();//相當於$this->test2();//調用本類test2方法
//parent::test2();這樣的話就調用了父類的test2方法
}
public function test2(){
}
}