看你的图是依次为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网