仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 657|回复: 7
打印 上一主题 下一主题

[学习教程] PHP网站制作之php基本常识条记

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为PHP/FI。PHP/FI可以和数据库连接,产生简单的动态网页程序。include和require的异同:不异点:都能够引进其他的php文件。分歧点:include当呈现引进文件毛病时,只会呈现告诫,但程序仍旧会持续往下实行。而当require呈现毛病时则会报错,程序停止。一样平常来讲都是利用include_once和require_once,而不利用include和require。引进文件的语句要放在最后面,这点就相似C言语。php变量是辨别巨细写的,可是函数名却不辨别巨细写。且不克不及以数字开首。比方Abc和abc是一样的,假如如许的两个函数共存在一个文件中就会报错。部分变量和全局变量同名下的情形剖析;看上面的一段代码:$a=45;functionabc(){//界说函数$a+=10;}abc();//挪用函数echo‘$a=’.$a;输入了局是几呢?了局仍是45,为何呢?在函数体内的是部分变量,和内部变量$a同名,但不是统一个变量,而是两个完整不干系的变量。函数内的变量$a跟着函数实行终了就开释了。输入的还是内部变量,假如要在函数体内利用内部变量(全局变量)那末就要在外部的同名变量前加上global声明。实在在编译器看来,声明为global时实际上是把内部同名的变量的地点赋给这个部分变量,这时候外部变量和内部同名变量是统一地点,以是天然就成了统一变量了。在函数体的形参或没有声明为global的部分变量,那末就是作为部分变量来利用的,感化域就是在函数体内。比方上面的一段代码输入了局是45,而不是55.$a=45;functionabc($a){//界说函数$a+=10;}abc($a);//挪用函数echo‘$a=’.$a;在php中一共有三种级其余毛病:第一级毛病:notice,最轻的毛病,还能够实行第二级毛病:warn,告诫,还能够实行第三级毛病:error,程序没法实行下往,这个毛病是最严峻的毛病unset函数讲授:(PHP3,PHP4)unset--开释给定的变量,当我们不想利用该变量时就能够开释这个变量。形貌voidunset(mixedvar[,mixedvar[,...]])unset()烧毁指定的变量。注重在PHP3中,unset()将前往TRUE(实践上是整型值1),而在PHP4中,unset()不再是一个真实的函数:它如今是一个语句。如许就没有了前往值,试图猎取unset()的前往值将招致剖析毛病。假如在函数中unset()一个全局变量,则只是部分变量被烧毁,而在挪用情况中的变量将坚持挪用unset()之前一样的值。即在函数内部该全局变量仍坚持原样。假如在函数中unset()一个经由过程援用传送的变量,则只是部分变量被烧毁,而在挪用情况中的变量将坚持挪用unset()之前一样的值。即形参是个取地点符的情形。php有点相似C言语,不撑持多态,不同意同名函数的存在,但关于形参更天真,在挪用时能够不写或少写几个形参值。还能够给形参赋默许值。比方functiondiyMethod($a,$b=3)就是给形参赋默许值为3,php函数默许传值体例是值传送,要想利用援用传送(地点传送),在形参前加上地点符&就能够了。援用传送实在有点相称于变相地将形参所对应的挪用该函数的传进参数酿成了全局变量。固然没有global声明。援用传送会改动传进参数的值!但要注重这里的援用并非C言语的指针.由于指针自己是一个变量,而php的援用实际上是变量的一类别名,说白了,就是一个地点能够有多个变量名字。在PHP中援用意味着用分歧的名字会见统一个变量内容。当用global$var声明一个变量时实践上创建了一个到全局变量的援用。php中变量、常量界说办法1.界说常量define("CONSTANT","Helloworld.");常量只能包括标量数据(boolean,integer,float和string)。挪用常量时,只必要复杂的用称号获得常量的值,而不克不及加“$”标记,如:echoCONSTANT;注:常量和(全局)变量在分歧的名字空间中。这意味着比方TRUE和$TRUE是分歧的。2.一般变量$a="hello";3.可变变量(利用两个美圆标记($))$$a="world";两个变量都被界说了:$a的内容是“hello”而且$hello的内容是“world”。因而,能够表述为:echo"$a${$a}";大概echo"$a$hello";它们城市输入:helloworld要将可变变量用于数组,必需办理一个不置可否的成绩。这就是当写下$$a[1]时,剖析器必要晓得是想要$a[1]作为一个变量呢,仍是想要$$a作为一个变量并掏出该变量中索引为[1]的值。办理此成绩的语法是,对第一种情形用${$a[1]},对第二种情形用${$a}[1]。4.静态变量在函数外部static$a=0;注重:声明顶用表达式的了局对其赋值会招致剖析毛病如static$a=3+3;(error)静态变量仅在部分函数域中存在(函数外部),函数实行完以后,变量值不会丧失,可用于递回挪用5.全局变量在函数体内界说的global变量,函数体外可使用,在函数体外界说的global变量不克不及在函数体内利用,在全局局限内会见变量能够用特别的PHP自界说$GLOBALS数组:如:$GLOBALS["b"]=$GLOBALS["a"]+$GLOBALS["b"];在一个函数域内用global语句导进的一个真实的全局变量实践上是创建了一个到全局变量的援用global$obj;注:关于变量的static和global界说是以使用的体例完成的6.给变量赋值:传地点赋值(复杂援用):$bar=&$foo;//加&标记到将要赋值的变量前修改新的变量将影响到原始变量,这类赋值操纵加倍疾速注重:只要定名变量才能够传地点赋值注重:假如$bar=&$a;$bar=&$foo;改动$bar的值只能改动变量foo的值,而不改动a的值(援用改动了)7.PHP超全局变量$GLOBALS:包括一个援用指向每一个以后剧本的全局局限内无效的变量。该数组的键标为全局变量的称号。从PHP3入手下手存在$GLOBALS数组。$_SERVER:变量由Web服务器设定大概间接与以后剧本的实行情况相干联。相似于旧数组$HTTP_SERVER_VARS数组(仍然无效,但否决利用)。$_GET:经过HTTPGET办法提交至剧本的变量。$_POST:经过HTTPPOST办法提交至剧本的变量。$_COOKIE:经过HTTPCookies办法提交至剧本的变量。$_FILES:经过HTTPPOST文件上传而提交至剧本的变量。文件上传表单中要有enctype="multipart/form-data"$_ENV:实行情况提交至剧本的变量。$_REQUEST:经过GET,POST和COOKIE机制提交至剧本的变量,因而该数组其实不值得信托。一切包括在该数组中的变量的存在与否和变量的按次均依照php.ini中的variables_order设置唆使来界说。该数组没有间接摹拟PHP4.1.0的初期版本。拜见import_request_variables()。注重:自PHP4.3.0起,$_FILES中的文件信息不再存在于$_REQUEST中。$_SESSION:以后注册给剧本会话的变量。怎样禁用phpinfo():php.ini中disable_functions=phpinfo()重启web服务器。php中的常量常量只能用define(常量名,常量值);常量只能包括标量数据(boolean,integer,float和string)。能够复杂的经由过程指定其名字来获得常量的值,不要在常量后面加上$标记。假如常量名是静态的,也能够用函数constant()来读取常量的值。用get_defined_constants()能够取得一切已界说的常量列表。注:常量和(全局)变量在分歧的名字空间中。这意味着比方TRUE和$TRUE是分歧的。假如利用了一个不决义的常量,PHP假定想要的是该常量自己的名字,好像用字符串挪用它一样(CONSTANT对应"CONSTANT")。此时将收回一个E_NOTICE级的毛病。拜见手册中为何$w3sky[bar]是毛病的(除非事前用define()将bar界说为一个常量)。假如只想反省是不是界说了某常量,用defined()函数。常量和变量分歧:*常量后面没有美圆标记($);*常量只能用define()函数界说,而不克不及经由过程赋值语句;*常量能够不必剖析变量局限的划定规矩而在任何中央界说和会见;*常量一旦界说就不克不及被从头界说大概作废界说;*常量的值只能是标量。界说常量<?PHPdefine("CONSTANT","Helloworld.");echoCONSTANT;//outputs"Helloworld."echoConstant;//outputs"Constant"andissuesanotice.?>跳水竞赛,10个评委打分,往失落一个最高分和一个最低分,然后求剩下的评委的分数总和的均匀分为该活动员的得分,试输入给最高分的评委和给最低分的评委和该活动员的得分。谜底以下:
  1. <?php$arr=array("arial"=>12,"ms"=>9.0,"ok"=>7.1,"song"=>5.0,"bold"=>3.8,"know"=>2.7,"wow"=>1.7,"serial"=>7.9,"moder"=>7.6,"froke"=>6.7);functiongetMinMax($arr,$k=true){//$k为true时输入最小值,为false则输入最年夜值,另有均匀数$num=$arr["arial"];$sum=0;$s="arial";foreach($arras$i=>$value){if($k){if($value<$num){$num=$value;$s=$i;}}else{if($value>$num){$num=$value;$s=$i;}}}$sum=array_sum($arr);returnarray($sum,$num,$s);}$newArr=getMinMax($arr,true);$sum=$newArr[0]-$newArr[1];echothelowestdegreepeopleis.$newArr[2]."<br/>";unset($newArr);$newArr=getMinMax($arr,false);$sum-=$newArr[1];echo<br/>thehighestdegreepeopleis.$newArr[2];echo<br/>theaveragedegreeis.$sum/(count($arr)-2);?>
复制代码
参加PHP开发学习,或许只是一次偶然的想法吧!只是想在走向社会之前体验、学习在一个公司或者说是项目团队之中如何去更有效的沟通、交流、共同合作,还有就是为毕业实习找工作增加伐码。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-19 05:13:18 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
老尸 该用户已被删除
板凳
发表于 2015-1-27 21:52:47 来自手机 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
因胸联盟 该用户已被删除
地板
发表于 2015-2-5 14:42:41 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
5#
发表于 2015-2-12 09:07:34 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
爱飞 该用户已被删除
6#
发表于 2015-3-3 02:05:41 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-11 08:46:30 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
变相怪杰 该用户已被删除
8#
发表于 2015-3-25 10:23:01 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表