摘要:刪除數(shù)組的最后一個(gè)元素輸出刪除的最后一個(gè)元素輸出擴(kuò)展名切割字符串函數(shù)查找字符串在另一字符串中最后一次出現(xiàn)的位置。
一. 寫出如下程序的輸出結(jié)果
參考試題出處
1.基礎(chǔ)
正確答案:相等 相等 不相等 注:== 表示值相等 ===表示值與類型都必須一樣 原因是在PHP中變量是以C語(yǔ)言的結(jié)構(gòu)體來(lái)存儲(chǔ)的,空字符串和NULL,false都是以值為0存儲(chǔ)的,其中這個(gè)結(jié)構(gòu)體有個(gè)zend_uchartype;這樣的成員變量,他是用來(lái)保存變量的類型的,而空字符串的類型是string,NULL的類型是NULL,false是boolean。 所以空字符串(""),false,NULL和0是值相等而類型不一樣!
2.輸出值
$a1 = null; $a2 = false; $a3 = 0; $a4 = ""; $a5 = "0"; $a6 = "null"; $a7 = array(); $a8 = array(array()); echo "
"; echo empty($a1) ? "true" : "false"; echo "
"; echo empty($a2) ? "true" : "false"; echo "
"; echo empty($a3) ? "true" : "false"; echo "
"; echo empty($a4) ? "true" : "false"; echo "
"; echo empty($a5) ? "true" : "false"; echo "
"; echo empty($a6) ? "true" : "false"; echo "
"; echo empty($a7) ? "true" : "false"; echo "
"; echo empty($a8) ? "true" : "false"; 正確答案:true true true true true false true false 解釋:$a1--$a5都是0 $a7是空數(shù)組
3.輸出值
$test = "aaaaaa"; $abc = & $test; unset($test); echo $abc; 正確答案:aaaaaa 解釋:& $test; 只是建立了一個(gè)通道指向值存儲(chǔ)的地方 unset只能撤銷$test的通道,但是 對(duì)$abc沒(méi)影響
4.輸出值
$count = 5; function get_count(){ static $count = 0; return $count++; } echo $count; ++$count; echo get_count(); echo get_count(); 正確答案:501 解釋:不用解釋,局部變量,靜態(tài)變量 后加
5.輸出值
$GLOBALS["var1"] = 5; $var2 = 1; function get_value(){ global $var2; $var1 = 0; return $var2++; } get_value();//這里沒(méi)有輸出值 但是var2卻在這里加了值 echo $var1; echo $var2; 正確答案:52 解釋:如上
6.使用五種以上方式獲取一個(gè)文件的擴(kuò)展名
1.substr strrchr $filename = "phpddt.jpg"; echo substr(strrchr($filename,"."),1); //strrchr() 函數(shù)(在php中)查找字符在指定字符串中從左面開(kāi)始的最后一次出現(xiàn)的位置,如果成功,返回該字符以及其后面的字符,如果失敗,則返回 NULL。 2.explode array_pop//刪除數(shù)組的最后一個(gè)元素 $filename = "phpddt.jpg"; $arr = explode(".",$filename); echo array_pop($arr); //輸出刪除的最后一個(gè)元素 3.pathinfo $filename = "phpddt.jpg"; $info = pathinfo($filename); echo $info["extension"];//輸出擴(kuò)展名 4.pathinfo $filename = "phpddt.jpg"; echo pathinfo($filename,PATHINFO_EXTENSION); 5.substr //切割字符串 strrpos $filename = "phpddt.jpg"; echo substr($filename,strrpos($filename,".")+1); // strrpos() 函數(shù)查找字符串在另一字符串中最后一次出現(xiàn)的位置。二、算法題
1.冒泡 function bubble_sort($array){ $count = count($array); if ($count <= 0) return false; for($i=0; $i<$count; $i++){ for($j=$i+1; $j<$count; $j++){ if ($array[$i] > $array[$j]){ $tmp = $array[$i]; $array[$i] = $array[$j]; $array[$j] = $tmp; } } } return $array; }
2.快速 //思路:數(shù)組小于或等于一不用排序,取數(shù)組第一個(gè)和所有的值比較小于第一個(gè)的在歸在左邊數(shù)組$left_array 大于第一個(gè)的歸于右邊數(shù)組,兩個(gè)數(shù)組遞歸主方法之后兩邊數(shù)據(jù)依次從小到大排列好,之后array_merge合并數(shù)組返回 function quick_sort($array) { if (count($array) <= 1) return $array; $key = $array[0]; $left_arr = array(); $right_arr = array(); for ($i=1; $i三.二分法查找數(shù)組元素 1.非遞歸 數(shù)組已排好序,知道數(shù)組的鍵值 查到就返回,沒(méi)查到返回-1 function binary(&$arr,$low,$top,$target){ while($low <= $top){ //由于php取商是有小數(shù)的,所以向下取整,不過(guò)也可不加,數(shù)組也會(huì)取整 $mid = floor(($low+$top)/2); echo $mid."
"; if($arr[$mid]==$target){ return $arr[$mid]; }elseif($arr[$mid]<$target){ $low = $mid+1; }else{ $top = $mid-1; } } return -1; } $arr = [1,4,7,12,34,45]; $rest = binary($arr,0,6,12); print_r($rest);exit;2.遞歸 function bin_sch($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); if ($array[$mid] == $k){ return $mid; }elseif ($k < $array[$mid]){ return bin_sch($array, $low, $mid-1, $k); }else{ return bin_sch($array, $mid+1, $high, $k); } } return -1; } $arr = [1,4,7,12,34,45]; $rest = binary($arr,0,6,12); print_r($rest);exit;四.寫一個(gè)二維數(shù)組排序算法函數(shù),能夠具有通用性,可以調(diào)用php內(nèi)置函數(shù)//二維數(shù)組排序, $arr是數(shù)據(jù),$keys是排序的健值,$order是排序規(guī)則,1是升序,0是降序
$data = array(); $data[] = array("volume" => 67, "edition" => 2); $data[] = array("volume" => 86, "edition" => 1); $data[] = array("volume" => 85, "edition" => 6); $data[] = array("volume" => 98, "edition" => 2); $data[] = array("volume" => 86, "edition" => 6); $data[] = array("volume" => 67, "edition" => 7); function array_sort($arr, $keys, $order=1) { if (!is_array($arr)) { return false; } $keysvalue = array(); foreach($arr as $key => $val) { $keysvalue[$key] = $val[$keys]; } if($order==0){ asort($keysvalue); }else { arsort($keysvalue); } $new_array = array(); foreach($keysvalue as $key=>$value) { $new_array[$key] = $arr[$key]; } return $new_array; } $rest = array_sort($data,"volume",0); echo ""; print_r($rest);exit;
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/22274.html
摘要:用打印出前一天的時(shí)間格式是的區(qū)別和不是一個(gè)函數(shù),是一個(gè)語(yǔ)言結(jié)構(gòu)只有一個(gè)參數(shù)可以輸出多個(gè)參數(shù),返回和只能打印出,不能打印出結(jié)構(gòu)能打印出結(jié)構(gòu)比如加粗文字 1、用PHP打印出前一天的時(shí)間格式是2006-5-10 22:21:21 echo date(Y-m-d H:i:s,time()-60*60*24); $a = date(Y-m-d H:i:s, strtotime(-1 day));...
摘要:一般用于刪除對(duì)象的屬性,刪除后其結(jié)果為但其不能刪除變量。條件判斷為假的情況有,,,,,未定義對(duì)象。函數(shù)聲明寫在運(yùn)算符中,其為,但放在運(yùn)算符中的函數(shù)聲明在執(zhí)行階段是找不到的。將賦值給相當(dāng)于故其指向 1、delete的用法 (function(x){ delete x; console.log(x); })(1) 答案為1。delete一般用...
摘要:好不容易在月號(hào)這天中午點(diǎn)左右接到了來(lái)自阿里的面試電話。這里會(huì)不斷收集和更新基礎(chǔ)相關(guān)的面試題,目前已收集題。面試重難點(diǎn)的和的打包過(guò)程多線程機(jī)制機(jī)制系統(tǒng)啟動(dòng)過(guò)程,啟動(dòng)過(guò)程等等掃清面試障礙最新面試經(jīng)驗(yàn)分享,此為第一篇,開(kāi)篇。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 各大公司 Java 后端開(kāi)發(fā)面試題總結(jié) 各大公司 Jav...
閱讀 2027·2021-11-19 11:37
閱讀 715·2021-11-11 16:54
閱讀 1161·2021-11-02 14:44
閱讀 3049·2021-09-02 15:40
閱讀 2368·2019-08-30 15:44
閱讀 951·2019-08-29 11:17
閱讀 1059·2019-08-26 14:06
閱讀 1552·2019-08-26 13:47