無標題文章

<?php
$arr = array(1,43,54,62,21,66,32,78,36,76,39);

function countLenght($arr){
$length = count($arr);
if ($length <= 1) {
return false;
}else{
return $length;
}
}

// 1、冒泡
function getBubble($arr){
$array_length = count($arr);
if ($array_length <= 1) {
return $arr;
}
for ($i=1; $i < $array_length-1; $i++) { //注意這里的$i從1開始
for ($j=0; $j < $array_length-$i; $j++) {
if ($arr[$j]>$arr[$j+1]) {
$tmp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
return $arr;
}
echo '<pre>';
// print_r(getBubble($arr));exit();

// 2、選擇
function getSelect($arr){
$array_length = count($arr);
if ($array_length<=1) {
return $arr;
}
for ($i=0; $i < $array_length-1; $i++) {
$p = $i;//設置最小值得下標為$i
for ($j=$i+1; $j < $array_length; $j++) { //$j的初始值為$i+1
if ( $arr[$p] > $arr[$j]) {
$p = $j;
}
}
if ($p != $i ) {
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
}
return $arr;
}
// print_r(getSelect($arr));
// 3、插入
// 思路 2 1
// 3 2 2 1對比
function getInsert($arr){
$array_length = count($arr);
if ($array_length <= 1) {
return $arr;
}
//假設第一個值為最小值,即下標為0的
for ($i=1; $i < $array_length; $i++) {
$insertValue = $arr[$i];
$insertIndex = $i-1;
while ( $insertIndex >= 0 && $insertValue < $arr[$insertIndex]) {
$arr[$insertIndex+1] = $arr[$insertIndex];
$insertIndex--;
}
$arr[$insertIndex+1] = $insertValue;
}
return $arr;
}
// print_r(getInsert($arr));

// 4、快速
function quickSort($arr){
$array_length = count($arr);
if ($array_length <= 1) {
return $arr;
}
$baseValue = $arr[0];
$left_array = array();
$right_array = array();
for ($i=1; $i < $array_length; $i++) {
if ($baseValue>$arr[$i]) {
$left_array[] = $arr[$i];
}else{
$right_array[] = $arr[$i];
}
}
$left_array = quickSort($left_array);
$right_array = quickSort($right_array);
return array_merge($left_array,array($baseValue),$right_array);
}
// print_r(quickSort($arr));

// ===========================================================================================================
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s',time());echo '
';
echo strtotime('-1 days');
$string = 'i am very good';
explode(' ', $string);//字符串轉數組
implode('
', $arr);//數組轉字符串
echo $str = 'js is not java';
echo "
";
echo preg_replace('/js|java/', 'php', $str);
echo "
";
$data = '08/26/2003';
echo preg_replace('/(\d+)/(\d+)/(\d+)/', '$3/$1/$2', $data);
echo "
";
//主鍵索引、唯一索引、普通索引、組合索引
//desc select * from user where id=5
//alter table user add index in_usrname(username);增加索引、索引優化
//alter table user drop index in_usrname;刪除索引
echo $_SERVER['REQUEST_URI'];
$_SERVER['HTTP_HOST'];
// $_SERVER['HTTP_REFERER'];
$_SERVER['SERVER_NAME'];
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0

//如何進行防sql注入
// 表單盡量使用post,表單判斷控制走get,因為get比post快
// 用$_SERVER['HTTP_REFERER']來判斷提交者的源頭
// 開啟addslashes
// 密碼一定要加密
// 使用預處理

//YII是一個基于組件的高性能的php框架,用于開發大規模的web應用,采用嚴格的oop編寫
echo ord('B');
echo chr(65);
//為什么把我一個人丟在夢里
//光明從來是由黑暗而來
//你猜我手里拿了什么?小呆瓜
//面向對象主要特征:封裝、繼承、多態
// 面向對象是程序的一種設計模式,它利于提高程序的重用性,使程序結構更加清晰,程序設計的設計思想,提高程序靈活度
//session保存在服務器端,cookie保存在客戶的,session依賴cookie進行傳輸,如果cookie被禁用了,session將不能繼續使用
//302 重定向
// 403 服務器拒絕訪問
//500 服務器內部錯誤
// 304 緩存未過期   404訪問頁面不存在

Myism和innodb的基本區別
在增刪改查方面myisam要優于innodb表引擎,當數據量特別大時他們的速度相差不大
innodb支持myisam所不具備的事務支持、存儲過程和行級鎖等

php有哪些超全局變量:$_POST $_GET $_SERVER $_FILES $_RUQUEST $GLOBALS $_SESSION $_COOKIE

create table `news`(
    `id` int(11) not null auto_increment,
    `name` varchar(30) not null default '',
    `age` int(3) not null default '',
    primary key('id')
)engine=inndb default charset=utf8;

iconv('gbk', 'utf8', '我們');

每一個屬性不可再分解
每一個屬性不可分解,并且非碼屬性完全依賴碼屬性
二之上,所有的非碼屬性沒有一個是傳遞函數依賴于候選碼


function fetchDir($dir){
    foreach (glob($dir.'\*') as $file) {
            echo $file,'\n';
            if (is_dir($file)) {
                fetchDir($file);
            }
    }
}

?>

SQL面試題:有A B C三列,用SQL語句實現:當A列大于B列時選擇A列否則選擇B列

.請教一個面試中遇到的SQL語句的查詢問題
表中有A B C三列,用SQL語句實現:當A列大于B列時選擇A列否則選擇B列,當B列大于C列時選擇B列否則選擇C列。


select (case when a>b then a else b end ),
(case when b>c then b esle c end)
from table_name

drop table table1
create table table1(
a int,
b int,
c int
)
insert into table1 values(22,24,23)

select * from table1

select (case when a>b then a else b end),(case when b>c then b else c end)
from table1

select (case when a>b then a
when a>c then a
when b>c then b else c
end)
from table1

最近在學習yii2的過程中,在網上看到很多關于yii,thinkphp,laravel等框架的對比,每個人對于框架的評論有褒有貶,喜歡的贊嘆不已,不喜歡的各種吐槽。搞得我有點覺得學習yii是浪費時間的行為,但是我覺得一個框架如此流行肯定有它自身的優秀之處的,所以在網上找了一些關于yii的評價之類的,梳理一下。

   yii的手冊不是手冊,是類庫說明,有對象編程基礎的人看,毫無問題,但是如果你只學過php、asp這些,可能短時間很難看懂他的文檔,這一點上TP完爆YII。

   但是YII的GII腳手架功能,完爆TP的半自動化,他可以自動生成分組、模型、CURD頁面及邏輯,你只要在數據庫模型里把外鍵指定好甚至還能為你自動生成模型關聯。

   YII的關聯才叫關聯,TP的關聯,在某些情況下不夠好,比如,TP的關聯模型出一個userinfo字段,這個字段存儲的是tbl_userinfo表里的某個數據,通常這個時候TP只能顯示這個表里已有的數據,但是如果這個表也關聯了別的表,那么YII可以讀取關聯數據的關聯數據的關聯數據。

1.從開發效率上來說,YII明顯更勝一籌

2.但是從入門難度上來說,TP更勝一籌,文檔也是tp更好。

3.從支持來說,YII的擴展要更多,因為國外也有一撥人在開發,畢竟他在國外也算是主流框架之一。而tp的大部分擴展靠的是官方。

4.tp的定位可能是輕量級的快速開發,yii可能是中小量級的高效開發。兩者定位上可能有所區別。

5.有很多大站、高并發的站是用yii做的,導致在名聲上,yii聽上去比tp高大上,事實上初學者也不可能去做大項目。

6、Yii 框架的代碼風格上于net比較接近,可以很方便的閱讀php代碼,上手快。

7、Yii 的框架對擴展支持相當高,很方便擴展,

8、很重要的性能,Yii 的性能相對優秀,而且屬于輕量級框架。spl_autoload_register 預注冊,按需載入文件等對性能都有很大提高。

8、modules 設計是一個很優秀的東西,他理論上可以無限嵌套,當然不建議嵌套超過三層。

9、widget 窗口小部件的應用,可以更加方便的構造通用模塊。

10、其實集成的model,以及CActiveRecord模式 包含的驗證機制,都是很好的東西,但是約束性也相對強一些。

11、Yii框架封裝了各種緩存方式,讓你只需要調用統一的方法就可以在不同的緩存中切換。

ThinkPHP V5.0——為API開發而設計的高性能框架

高性能 PHP 框架,ThinkPHP 5.0.0 Beta 發布

ThinkPHP5.0.0版本是一個顛覆和重構版本,采用全新的架構思想,引入了很多的PHP新特性,優化了核心,減少了依賴,實現了真正的惰性加載。

GitHub項目地址:https://github.com/liu21st/think

ThinkPHP5在保持快速開發和大道至簡的核心理念不變的同時,PHP版本要求提升到5.4,對已有的CBD模式做了更深的強化,優化核心,減少依賴,基于全新的架構思想和命名空間實現,是ThinkPHP突破原有框架思路的顛覆之作,其主要特性包括:

基于命名空間和眾多PHP新特性

核心功能組件化

強化路由功能

更靈活的控制器

配置文件可分離

簡化擴展機制

API支持完善

整合SocketLog用于支持遠程調試

命令行訪問支持

REST支持

引導文件支持

方便的自動生成定義

真正惰性加載

分布式環境支持

更多的社交類庫

ThinkPHP5的運行環境要求PHP5.4以上,目前處于開發測試階段,不排除正式發布之前有所調整, 請謹慎用于實際項目 _

詳細開發文檔參考 ThinkPHP5開發手冊

mvc和MVP的區別

正則表達

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,076評論 2 375

推薦閱讀更多精彩內容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,763評論 0 33
  • ``` /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject ...
    非專業碼農閱讀 342評論 0 0
  • 【2017年最新】? iOS面試題及答案 設計模式是什么? 你知道哪些設計模式,并簡要敘述? 設計模式是一種編碼經...
    紫色冰雨閱讀 618評論 0 1
  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,753評論 0 9
  • ? 《愛上了你》 愛上了你 迷戀香水瓶那只蝴蝶的美麗 想念地中海季風中 撲面而來的香氣 特別是那來自西西里的甜蜜柑...
    肖才勝閱讀 373評論 0 7