⑴ 有哪位php高手知道雙軌系統演算法怎麼寫嗎給個思路也行哈
看你的圖是依次為2的倍數,1 2 4 8,所以當數量為上一級的數量是,就是右邊的,否則是左邊的
⑵ 請問php手冊里有關於演算法的說明嗎
沒有.主要是函數說明和功能介紹.
演算法還是看演算法導論吧
⑶ 要學PHP 演算法的重要性大嗎
本人表示樓主被一樓忽悠了!
演算法對於一個程序員來說是很重要的,第一通過演算法可以提高你的編程水平,試想現在,一個演算法可以難倒百分之八十的PHPER,這就是為什麼有的程序員做了好幾年,水平依舊是個菜鳥的原因!有的還天天抱怨不公平!不要以為演算法無足輕重,再想一下,100以內和100億以內的數組排序一樣嘛?100以內的素數和100億以內的素數一樣嘛?不要說你用不到(你網站規模一大,必須考慮這個東西。底層操作無非就是數字運算),也不要說一個SORT解決了!
你說演算法和WEB無關,
那你是不是認為斐波那契數列就僅僅是玩游戲的,求老兔子生小兔子的?
你是否知道餘弦定理在搜索中的應用很廣,而不是高中生拿來算算三角形夾角那樣的簡單?
程序員要做 programmer而不是coder
⑷ PHP實現的自定義數組排序函數與排序類示例
本文實例講述了PHP實現的自定義數組排序函數與排序類。分享給大家供大家參考,具體如下:
/*
*
二維數組自定義排序函數
*
uasort($arr,function_name)
*
**/
$arr
=
array(
array('a'=>1,'b'=>'c'),
array('a'=>4,'b'=>'a'),
array('a'=>5,'b'=>'g'),
array('a'=>7,'b'=>'f'),
array('a'=>6,'b'=>'e')
);
function
compare_arr($x,$y){
if($x['b']<$y['b']){
return
-1;
}else
if($x['b']>$y['b']){
return
1;
}else{
return
0;
}
}
uasort($arr,'compare_arr');
foreach($arr
as
$a){
echo
$a['a'].'=>'.$a['b'].'<br/>';
}
手冊里的自定義排序類:
class
multiSort
{
var
$key;
//key
in
your
array
//排序函數
參數依次是
數組
待排列索引
排序類型
function
run
($myarray,
$key_to_sort,
$type_of_sort
=
'')
{
$this->key
=
$key_to_sort;
if
($type_of_sort
==
'desc')
uasort($myarray,
array($this,
'myreverse_compare'));
else
uasort($myarray,
array($this,
'mycompare'));
return
$myarray;
}
//正序
function
mycompare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
<
$y[$this->key]
)
return
-1;
else
return
1;
}
//逆序
function
myreverse_compare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
>
$y[$this->key]
)
return
-1;
else
return
1;
}
}
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php排序演算法總結》、《php字元串(string)用法總結》、《PHP針對XML文件操作技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
⑸ 求演算法:用php實現如下要求:(其它語言也可如:C或C++但注釋一定要詳細)
arr2 有問題,應該改為:
arr2 = array(
2=>array(3,4,5),
3=>array(6,7),
4=>array(7),
5=>array(8),
6=>array(9),
7=>array(10),
8=>array(7,11),
9=>array(12),
10=>array(12),
11=>array(12),
);
就對了,能跟那張圖一致。
給你 html 吧,js 跟 php 語法差不多。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>數組</title>
<style type="text/css">
</style>
<script type="text/javascript" charset="utf-8">
var arr1 = [2,3,4,5,6,7,8,9,10,11,12];
var arr2 = [[0],[0],[3,4,5],[6,7],[7],[8],[9],[10],[7,11],[12],[12],[12]];
var arr3 = [[]];
var arrayCopy = function(aArrayA)
{
var aArrayB = [];
for(var i=0; i<aArrayA.length; i++)
aArrayB[i] = aArrayA[i];
return aArrayB;
}
var arrayAmplification = function(i, j)
{
for(var k=1; k<arr2[arr3[i][j]].length; k++)
{
arr3.splice(i, 0, arrayCopy(arr3[i]));
}
for(var k=0; k<arr2[arr3[i][j]].length; k++)
{
arr3[k + i][j + 1] = arr2[arr3[i][j]][k];
}
for(var k=0; k<arr3.length; k++)
if(arr2[arr3[k][arr3[k].length - 1]].length > 1)
arrayAmplification(k, arr3[k].length - 1);
}
var arrayExtend = function()
{
for(var i=0; i<arr3.length; i++)
{
if((arr3[i][arr3[i].length - 1]) == (arr1[arr1.length - 1]))
continue;
arr3[i].push(arr2[arr3[i][arr3[i].length - 1]][0]);
}
}
window.onload = function()
{
arr3[0][0] = arr1[0];
var iNum;
for(;;)
{
for(var j=0,k; j<arr3.length; j++)
{
k = arr3[j].length - 1;
if((arr2[arr3[j][k]]) && (arr2[arr3[j][k]].length > 1))
{
arrayAmplification(j, k);
}
}
arrayExtend();
iNum = 0;
for(var j=0,k; j<arr3.length; j++)
{
k = arr3[j].length - 1;
if(arr3[j][k] == arr1[arr1.length - 1])
iNum ++;
}
if(iNum == arr3.length)
break;
}
var sStr = '';
for(var i=0; i<arr3.length; i++)
{
sStr += arr3[i] + '\n';
}
alert(sStr);
};
</script>
</head>
<body>
</body>
</html>
⑹ php程序員要學習那些知識
作為一名合格的PHPer 首先就是對PHP的熱愛,俗話說:「要做好一件事,要先去理解他,然後愛他。」PHP是一種很美妙的開發語言,你不需要再為定義一個變數的類型而猶豫不定,PHP會自動判斷;你不需要在得到一個表單數據而聲明N多的函數,一切都交給PHP吧!
1、MYSQL
是的,只有一門好的開發語言而不懂得資料庫,我們依然是寸步難行的!還好,我們有一樣開源、小巧的MYSQL!你知道的對於一個web開發人員來說,我們不能僅僅懂得(填/刪/改/查-insert/delete/update/select),為了讓我們的網站跑的更快、更順暢我們還要懂得mysql的優化。沒錯!這個時候,視圖、索引會幫你完成你想要的結果。
2、Apache
沒有Apache我們的程序怎麼能跑的起來呢!至少你要懂得一些Apache的基本配置信息吧!
3、Javascript
「後端語言群雄逐鹿,前端語言唯我獨尊!」沒錯,這就是Javascript在前端語言地位的真實寫照!你的網站想擁有絢麗的視覺效果,你離不開 Javascript;你的網站想擁有良好的客戶體驗,你離不開Ajax!縱然有時候,YUI,JQuery等就Javascript框架會幫助我們提高效率,但是,別忘了,他們的基礎是Javascript!
4、演算法
其實,按照常理來說,演算法是程序員的「靈魂」。一名合格的程序員,他第一要求的往往是過硬的演算法基礎。但是,web開發顛覆了這種傳統。 因為PHP主要用於web開發,也就不太需要這種技能。 所以,很多時候,人們都在討論是不是web開發人員不能算作真正的程序員呢?
…………………………………………………………………………………………
你好,看你問的問題,應該是對php很感興趣,其實你可以自學php。關於如何學習php,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學php,並找到php的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到php這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習php,然後給我介紹了一下php現在的火熱情況,告訴我學php多麼的有前景,給我了一份傳單,php培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下php,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學php了。於是我去找php培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章是一個php高手介紹沒有基礎的朋友怎麼自學入門學php,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。
主意一定,我就去搜索php的視頻,雖然零星找到一些php的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟推出的一份視頻《零基礎php就業班》(喜歡《零基礎php就業班》的可以復制 t.cn/8s1Z7Of 粘貼瀏覽器地址欄按回車鍵即打開)。裡面的教程還不錯,很完整,還贈送10個頂級企業項目。
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的Html/css/javascript視頻教程學起,話說簡單,其實我還是很多不懂的,只要重復多看幾遍,就能看懂。Html/css/javascript我差不多學了一個禮拜,接下來我就學了PHP基礎和Mysql資料庫,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了php的全部基礎。
接下來開始學習php高級課程,老師幽默風趣而又輕松的課堂教課,使我發現原來學習php並不是一件很難的事情。之前我把php基礎學得還不錯,到了到了php高級部分,我覺不又不是很難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續看了五六次,把他弄懂。每天下午6點下班後,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。當時,為了編程還花幾百元了台二手的台式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會php。每天都堅持學5-6個小時。經常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。那段時間特別辛苦,特別累。在學習php的三個多月里,除了吃飯睡覺工作,剩餘的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什麼計算機,相對於那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終於三個多月後我把php教程里的內容和項目都學完了,在學項目的過程中我發現項目特別重要,他能把你學過的知識全部聯系起來,能更好的理解你所學的知識。還有學習過程中,動手很重要,要經常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對於一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。這套視頻還贈送了10個頂級企業項目,對於我沒有任何經驗的人來說,這個太重要了,還有在學習項目是提升能力最快的方法。項目能把所有的知識點全都連到一起了,不再是分散的,而是形成一個整體了。那種感覺是僅僅深入鑽研知識點而不寫真實項目的人所不能體會的。一個項目就是一根繩子可以把大片的知識串到一起。 就這樣,我用了兩個月也把項目給學完了。其實學完教程差不錯就達到就業水平,但是我可能覺得自己學歷低還是把那10個頂級企業項目才去找工作。
於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是php開發程序員,但我也比較滿足,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
………………………………………………………………
…………………………………………………………
如果你想成為php程序員就努力吧。
⑺ php現在有哪些常用的演算法
<?
//--------------------
// 基本數據結構演算法
//--------------------
//二分查找(數組里查找某個元素)
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;
}
//順序查找(數組里查找某個元素)
function seq_sch($array, $n, $k){
$array[$n] = $k;
for($i=0; $i<$n; $i++){
if( $array[$i]==$k){
break;
}
}
if ($i<$n){
return $i;
}else{
return -1;
}
}
//線性表的刪除(數組中實現)
function delete_array_element($array , $i)
{
$len = count($array);
for ($j= $i; $j<$len; $j ++){
$array[$j] = $array [$j+1];
}
array_pop ($array);
return $array ;
}
//冒泡排序(數組排序)
function bubble_sort( $array)
{
$count = count( $array);
if ($count <= 0 ) return false;
for($i=0 ; $i<$count; $i ++){
for($j=$count-1 ; $j>$i; $j--){
if ($array[$j] < $array [$j-1]){
$tmp = $array[$j];
$array[$j] = $array[ $j-1];
$array [$j-1] = $tmp;
}
}
}
return $array;
}
//快速排序(數組排序)
function quick_sort($array ) {
if (count($array) <= 1) return $array;
$key = $array [0];
$left_arr = array();
$right_arr = array();
for ($i= 1; $i<count($array ); $i++){
if ($array[ $i] <= $key)
$left_arr [] = $array[$i];
else
$right_arr[] = $array[$i ];
}
$left_arr = quick_sort($left_arr );
$right_arr = quick_sort( $right_arr);
return array_merge($left_arr , array($key), $right_arr);
}
//------------------------
// PHP內置字元串函數實現
//------------------------
//字元串長度
function strlen ($str)
{
if ($str == '' ) return 0;
$count = 0;
while (1){
if ( $str[$count] != NULL){
$count++;
continue;
}else{
break;
}
}
return $count;
}
//截取子串
function substr($str, $start, $length=NULL)
{
if ($str== '' || $start>strlen($str )) return;
if (($length!=NULL) && ( $start>0) && ($length> strlen($str)-$start)) return;
if (( $length!=NULL) && ($start< 0) && ($length>strlen($str )+$start)) return;
if ($length == NULL) $length = (strlen($str ) - $start);
if ($start < 0){
for ($i=(strlen( $str)+$start); $i<(strlen ($str)+$start+$length ); $i++) {
$substr .= $str[$i];
}
}
if ($length > 0){
for ($i= $start; $i<($start+$length ); $i++) {
$substr .= $str[$i];
}
}
if ( $length < 0){
for ($i =$start; $i<(strlen( $str)+$length); $i++) {
$substr .= $str[$i ];
}
}
return $substr;
}
//字元串翻轉
function strrev($str)
{
if ($str == '') return 0 ;
for ($i=(strlen($str)- 1); $i>=0; $i --){
$rev_str .= $str[$i ];
}
return $rev_str;
}
//字元串比較
function strcmp($s1, $s2)
{
if (strlen($s1) < strlen($s2)) return -1 ;
if (strlen($s1) > strlen( $s2)) return 1;
for ($i =0; $i<strlen($s1 ); $i++){
if ($s1[ $i] == $s2[$i]){
continue;
}else{
return false;
}
}
return 0;
}
//查找字元串
function strstr($str, $substr)
{
$m = strlen($str);
$n = strlen($substr );
if ($m < $n) return false ;
for ($i=0; $i <=($m-$n+1); $i ++){
$sub = substr( $str, $i, $n);
if ( strcmp($sub, $substr) == 0) return $i;
}
return false ;
}
//字元串替換
function str_replace($substr , $newsubstr, $str)
{
$m = strlen($str);
$n = strlen($substr );
$x = strlen($newsubstr );
if (strchr($str, $substr ) == false) return false;
for ( $i=0; $i<=($m- $n+1); $i++){
$i = strchr($str, $substr);
$str = str_delete ($str, $i, $n);
$str = str_insert($str, $i, $newstr);
}
return $str ;
}
//--------------------
// 自實現字元串處理函數
//--------------------
//插入一段字元串
function str_insert($str, $i , $substr)
{
for($j=0 ; $j<$i; $j ++){
$startstr .= $str[$j ];
}
for ($j=$i; $j <strlen($str); $j ++){
$laststr .= $str[$j ];
}
$str = ($startstr . $substr . $laststr);
return $str ;
}
//刪除一段字元串
function str_delete($str , $i, $j)
{
for ( $c=0; $c<$i; $c++){
$startstr .= $str [$c];
}
for ($c=( $i+$j); $c<strlen ($str); $c++){
$laststr .= $str[$c];
}
$str = ($startstr . $laststr );
return $str;
}
//復制字元串
function strcpy($s1, $s2 )
{
if (strlen($s1)==NULL || !isset( $s2)) return;
for ($i=0 ; $i<strlen($s1); $i++){
$s2[] = $s1 [$i];
}
return $s2;
}
//連接字元串
function strcat($s1 , $s2)
{
if (!isset($s1) || !isset( $s2)) return;
$newstr = $s1 ;
for($i=0; $i <count($s); $i ++){
$newstr .= $st[$i ];
}
return $newsstr;
}
//簡單編碼函數(與php_decode函數對應)
function php_encode($str)
{
if ( $str=='' && strlen( $str)>128) return false;
for( $i=0; $i<strlen ($str); $i++){
$c = ord($str[$i ]);
if ($c>31 && $c <107) $c += 20 ;
if ($c>106 && $c <127) $c -= 75 ;
$word = chr($c );
$s .= $word;
}
return $s;
}
//簡單解碼函數(與php_encode函數對應)
function php_decode($str)
{
if ( $str=='' && strlen($str )>128) return false;
for( $i=0; $i<strlen ($str); $i++){
$c = ord($word);
if ( $c>106 && $c<127 ) $c = $c-20;
if ($c>31 && $c< 107) $c = $c+75 ;
$word = chr( $c);
$s .= $word ;
}
return $s;
}
//簡單加密函數(與php_decrypt函數對應)
function php_encrypt($str)
{
$encrypt_key = '';
$decrypt_key = '';
if ( strlen($str) == 0) return false;
for ($i=0; $i<strlen($str); $i ++){
for ($j=0; $j <strlen($encrypt_key); $j ++){
if ($str[$i] == $encrypt_key [$j]){
$enstr .= $decrypt_key[$j];
break;
}
}
}
return $enstr;
}
//簡單解密函數(與php_encrypt函數對應)
function php_decrypt($str)
{
$encrypt_key = '';
$decrypt_key = '';
if ( strlen($str) == 0) return false;
for ($i=0; $i<strlen($str); $i ++){
for ($j=0; $j <strlen($decrypt_key); $j ++){
if ($str[$i] == $decrypt_key [$j]){
$enstr .= $encrypt_key[$j];
break;
}
}
}
return $enstr;
}
?>
⑻ php要如何學
進來在網上發現不少朋友在詢問有關PHP學習方面的問題,有人擔心自己學歷低不適合學習,有人擔心自己數學基礎差不適合學習,也有人擔心自己年齡偏大不適合學習,諸如此類。接下來站長就把自己學習PHP的過程分享一下,希望對大家有所幫助。
我是大學畢業1年半左右開始學習PHP的,當時的年齡是22歲,23歲不到。我的主要學習方式就是看書–>看視頻教程–>照著視頻寫代碼–>找工作–>工作中學習–>工作之餘學習。
一、年齡大怎麼辦
首先來說一下學習年齡,我畢業的時候是23歲不到,學習的時候實際年齡也沒滿25歲。以一般人的觀點來說,這個年齡學習編程已經不具備年齡優勢,但是凡事沒有絕對,因人而異,關鍵在於你自己是否真的想學,有那個毅力,當然也要一點天賦。站長在大學里學過C語言,應該說還有點底子,而恰恰PHP又是用C語言寫的,語法方面非常相似,所以入門的時候還不算費勁。也就是在學習PHP的時候我才感覺到大學里用心學習的意義,來日方長,當時用不到,不代表以後就用不到,在此也對那些認為大學里學習無用的朋友說一聲:多學一點沒壞處。
二、書怎麼看
如果你已經下定了決心要學習了,接下來就應該選擇一本好教程。【這只是站長的建議,如果你覺得直接看視頻更適合你可以選擇跳過。】站長並不推薦看國內的計算機教材,內容平平不說,而且很多是過時 的,倒不是貶低國內的計算機水平,只是濫竽充數的實在太多,想找一本好書太難。我看的教材是《PHP與Mysql web開發》原書第四版【之前還看過一本不入眼的教材就不推薦了】,俗稱「PHP聖經」,這兩個名字你任意網路一個都可以搜到,建議到網上購買,書店裡的太貴。如果你之前沒有學習過html和javascript,我建議大家先去找這方面的教材看,html和基礎javascript都很簡單,不需要害怕。
我個人的經驗,光看書本你不會學到太多,因為編程是要在實際寫代碼的過程中才會深刻體會到理論。但是書上的內容可以給你先在腦海中對php是怎麼一回事形成一個大概的印象,有一些內容你可能一時無法理解消化,我不建議大家在一個地方停留太久,不行就跳過去,繼續往後看,但是要把不懂的地方做一下記號,當我們進行到下一步的時候逐一解決。
三、選擇好的視頻教程
由於個人的接受方式不一樣,所以不存在符合所有人的視頻教程。站長先入為主的看了《中學大學PHP教程》,這是台灣中原大學一個老師出的,5集。用來入門是不錯的選擇,當然也可以去php100中文網看教程,php100的教程比較多,也講得比較淺,入門也是不錯的。建議大家下載看,不要圖快,要有耐性,站長當初1天看1集,5天看完的。下載看最大的好處就是,一時走神了沒注意可以退回去繼續看,o(∩_∩)o 哈哈!在看視頻教程的時候,留心注意自己看書時遇到的問題,因為視頻教程往往都配有代碼講解,所以應該能夠為你解決一部分在看書時遺留下來的問題。
四、動手寫代碼–依葫蘆畫瓢
看完書和視頻後,就可以嘗試自己動手寫代碼了,站長是照著視頻寫的,因為第一次寫很多地方不記得,經常把視頻退回去看他怎麼寫的【囧!】。這個過程並不舒服,但是咬牙堅持下來,你會發現,依葫蘆畫瓢就會漸漸催生你自己的代碼。因為依葫蘆畫瓢只是讓你理解php網站開發的基本原理,一個功能的具體業務邏輯怎麼實現,代碼的執行流程是怎麼樣的,代碼以什麼樣的方式構成,並不是要你生搬硬套,這一點要切記,否則你離開視頻就無法動手的話,那就麻煩了!
五、找工作
當你看了一段時間的視頻教程,寫過一段時間的代碼後就可以嘗試去找工作了,記住程序員最主要的是編程思想,也就是解決問題的方法,如果你還沒有領悟這一點,就不要操之過急。你最好已經寫過一些拿得出手的作品,掌握smarty或者任何一種開源框架,框架入門推薦thinkphp。剛出來找PHP工作,期望值低一些,如果是才畢業的沒有項目經驗,可以找找招實習生的公司或者一些對技術要求不高的小公司,總之先讓自己工作,進行實戰,在工作中你會遇到很多問題,這都是學習的機會。站長當初寫了一個留言板就去找程序員的工作了,而且運氣不錯,還真讓我找到了,呵呵,很多人都覺得不可思議呢!天啊?寫一個留言板就去工作了!現在想想,我也夠猛的。
六、最後談一下PHP對數學基礎的要求
首先要明確一點,任何編程語言,數學基礎好,在學習和使用的過程中都會事半功倍!而在php中,主要是做web開發,並不十分要求高深的演算法,所以對數學的要求相對C/C++這類語言來說,是要低得多的。關鍵在開發的過程中思路要清晰,代碼要嚴謹,所以邏輯思維很重要。而當你深入學習到一定程度,也是需要一定的數學基礎來支撐的。畢竟數學基礎好說明你的邏輯思維不差,而一些數據結構、特定功能的實現也是需要數學的。
總的來說,如果數學基礎差,在剛開始學習的時候是不需要太擔心的,但是如果要深入提高,就有必要自己充充電了。
以上就是個人 2年多來的一點經驗,關鍵還是多看、多寫、多找。看自己的代碼,進行改進優化;看別人的代碼,取長補短;寫自己的代碼,增強語言熟練度和編程經驗;遇到不懂的問題,多利用搜索引擎。
只要有恆心、堅持下來,相信大家都會很快度過那段菜鳥的艱苦歲月,變身老鳥向高手達人進發!
這里,站長與諸君共勉,共同在php的世界裡闖出自己的新天地!
PS:轉載請註明來自第一php網
⑼ php要學哪些
PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。
下面參考雷雪松的個人博客學習PHP的路線和一些方法。
1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很復雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。
2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。
3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。
4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是干什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。
5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。
6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該准備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習。
參考:http://www.leixuesong.cn/609
⑽ 如何學好PHPPHP該怎麼去學
進來在網上發現不少朋友在詢問有關PHP學習方面的問題,有人擔心自己學歷低不適合學習,有人擔心自己數學基礎差不適合學習,也有人擔心自己年齡偏大不適合學習,諸如此類。接下來站長就把自己學習PHP的過程分享一下,希望對大家有所幫助。
我是大學畢業1年半左右開始學習PHP的,當時的年齡是22歲,23歲不到。我的主要學習方式就是看書–>看視頻教程–>照著視頻寫代碼–>找工作–>工作中學習–>工作之餘學習。
一、年齡大怎麼辦
首先來說一下學習年齡,我畢業的時候是23歲不到,學習的時候實際年齡也沒滿25歲。以一般人的觀點來說,這個年齡學習編程已經不具備年齡優勢,但是凡事沒有絕對,因人而異,關鍵在於你自己是否真的想學,有那個毅力,當然也要一點天賦。站長在大學里學過C語言,應該說還有點底子,而恰恰PHP又是用C語言寫的,語法方面非常相似,所以入門的時候還不算費勁。也就是在學習PHP的時候我才感覺到大學里用心學習的意義,來日方長,當時用不到,不代表以後就用不到,在此也對那些認為大學里學習無用的朋友說一聲:多學一點沒壞處。
二、書怎麼看
如果你已經下定了決心要學習了,接下來就應該選擇一本好教程。【這只是站長的建議,如果你覺得直接看視頻更適合你可以選擇跳過。】站長並不推薦看國內的計算機教材,內容平平不說,而且很多是過時 的,倒不是貶低國內的計算機水平,只是濫竽充數的實在太多,想找一本好書太難。我看的教材是《PHP與Mysql web開發》原書第四版【之前還看過一本不入眼的教材就不推薦了】,俗稱「PHP聖經」,這兩個名字你任意網路一個都可以搜到,建議到網上購買,書店裡的太貴。如果你之前沒有學習過html和javascript,我建議大家先去找這方面的教材看,html和基礎javascript都很簡單,不需要害怕。
我個人的經驗,光看書本你不會學到太多,因為編程是要在實際寫代碼的過程中才會深刻體會到理論。但是書上的內容可以給你先在腦海中對php是怎麼一回事形成一個大概的印象,有一些內容你可能一時無法理解消化,我不建議大家在一個地方停留太久,不行就跳過去,繼續往後看,但是要把不懂的地方做一下記號,當我們進行到下一步的時候逐一解決。
三、選擇好的視頻教程
由於個人的接受方式不一樣,所以不存在符合所有人的視頻教程。站長先入為主的看了《中原大學PHP教程》,這是台灣中原大學一個老師出的,5集。用來入門是不錯的選擇,當然也可以去php100中文網看教程,php100的教程比較多,也講得比較淺,入門也是不錯的。建議大家下載看,不要圖快,要有耐性,站長當初1天看1集,5天看完的。下載看最大的好處就是,一時走神了沒注意可以退回去繼續看,o(∩_∩)o 哈哈!在看視頻教程的時候,留心注意自己看書時遇到的問題,因為視頻教程往往都配有代碼講解,所以應該能夠為你解決一部分在看書時遺留下來的問題。
四、動手寫代碼–依葫蘆畫瓢
看完書和視頻後,就可以嘗試自己動手寫代碼了,站長是照著視頻寫的,因為第一次寫很多地方不記得,經常把視頻退回去看他怎麼寫的【囧!】。這個過程並不舒服,但是咬牙堅持下來,你會發現,依葫蘆畫瓢就會漸漸催生你自己的代碼。因為依葫蘆畫瓢只是讓你理解php網站開發的基本原理,一個功能的具體業務邏輯怎麼實現,代碼的執行流程是怎麼樣的,代碼以什麼樣的方式構成,並不是要你生搬硬套,這一點要切記,否則你離開視頻就無法動手的話,那就麻煩了!
五、找工作
當你看了一段時間的視頻教程,寫過一段時間的代碼後就可以嘗試去找工作了,記住程序員最主要的是編程思想,也就是解決問題的方法,如果你還沒有領悟這一點,就不要操之過急。你最好已經寫過一些拿得出手的作品,掌握smarty或者任何一種開源框架,框架入門推薦thinkphp。剛出來找PHP工作,期望值低一些,如果是才畢業的沒有項目經驗,可以找找招實習生的公司或者一些對技術要求不高的小公司,總之先讓自己工作,進行實戰,在工作中你會遇到很多問題,這都是學習的機會。站長當初寫了一個留言板就去找程序員的工作了,而且運氣不錯,還真讓我找到了,呵呵,很多人都覺得不可思議呢!天啊?寫一個留言板就去工作了!現在想想,我也夠猛的。
六、最後談一下PHP對數學基礎的要求
首先要明確一點,任何編程語言,數學基礎好,在學習和使用的過程中都會事半功倍!而在php中,主要是做web開發,並不十分要求高深的演算法,所以對數學的要求相對C/C++這類語言來說,是要低得多的。關鍵在開發的過程中思路要清晰,代碼要嚴謹,所以邏輯思維很重要。而當你深入學習到一定程度,也是需要一定的數學基礎來支撐的。畢竟數學基礎好說明你的邏輯思維不差,而一些數據結構、特定功能的實現也是需要數學的。
總的來說,如果數學基礎差,在剛開始學習的時候是不需要太擔心的,但是如果要深入提高,就有必要自己充充電了。
以上就是個人 2年多來的一點經驗,關鍵還是多看、多寫、多找。看自己的代碼,進行改進優化;看別人的代碼,取長補短;寫自己的代碼,增強語言熟練度和編程經驗;遇到不懂的問題,多利用搜索引擎。
只要有恆心、堅持下來,相信大家都會很快度過那段菜鳥的艱苦歲月,變身老鳥向高手達人進發!
這里,站長與諸君共勉,共同在php的世界裡闖出自己的新天地!
PS:轉載請註明來自第一php網