大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《PHP如何自定义函数》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
使用Function来自定义一个函数:
格式为:
Functionfunc_name($val){
}
函数的命名跟自定义变量一样,只能使用_,A~Z,a~z
一个自定义函数中的变量是局部的,函数外不生效
使用global全局变量的时候,在函数外才可使用变量(不建议)
为了放置全局变量的混乱可以使用unset($var)删除一个变量
使用自定义函数实例操作:
(1)使用return函数返回函数内部值
(2)自定义函数值的接收和选择性接收
(3)function_exists判断函数是否存在
(4)引用返回值使用符号
大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《如何用PHP实现邮件发送》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
PHP的mail函数可以实现直接用脚本发送邮件。
用mail函数发送邮件之前,首先需要在php.ini文件里面设置一下邮件服务属性,主要的设置选项如下:
属性缺省值说明Changeable
SMTPlocalhost只适用于Windows:SMTP服务器的DNS名或者IP地址PHP_INI_ALL
smtp_port25只适用于Windows:SMTP端口号PHP_INI_ALL
sendmail_fromNULL只适用于Windows:指定要发送邮件的From地址PHP_INI_ALL
sendmail_pathNULL只适用于Unix:指定发送邮件的程序路径PHP_INI_SYSTEM
如下代码实现了一个简单的发送邮件例子:
$subject=欢迎来到IT公司面试手册;
$message=Hello!欢迎来到IT公司面试手册.;
$headers=From:$from;
mail($to,$subject,$message,$headers);
echoMailSent.;
?
大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《PHP如何设置和取得ookie值》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
PHP函数setcookie用来设置cookie.
setcookie函数必须在标签之前调用,语法是setcookie(name,value,expire,path,domain)例如:
setcookie(user,AlexPorter,time+3600);
?
setcookie(url,http://,time+3600);
?
这个例子创建了一个名字为url的cookie,并赋值为http://,并且设置失效日期为一个小时候
注意:cookie的值在传输过程中是URLencoded的,收到的时候也会自动解码。如果不需要URLencoded可以使用setrawcookie代替
PHP$COOKIE变量用来取得一个cookie值,下面的例子中我们取得了名字为url的cookie值并显示在了页面上:
//Printacookie
echo$_COOKIE[url];
//Awaytoviewallcookies
print_r($_COOKIE);
?
大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《PHP笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1.写出如下程序的输出结果
$str1=null;
$str2=false;
echo$str1==$str2?相等:不相等;
//相等
$str3=;
$str4=0;
echo$str3==$str4?相等:不相等;
//相等
$str5=0;
$str6=0;
echo$str5===$str6?相等:不相等;
//不相等
?
2.写出如下程序的输出结果
$a1=null;
$a2=false;
$a3=0;
$a4=;
$a5=0;
$a6=null;
$a7=array;
$a8=array(array);
echoempty($a1)?true:false;//true
echoempty($a2)?true:false;//true
echoempty($a3)?true:false;//true
echoempty($a4)?true:false;//true
echoempty($a5)?true:false;//true
echoempty($a6)?true:false;//false
echoempty($a7)?true:false;//true
echoempty($a8)?true:false;//false
?
3.写出如下程序的输出结果
$test=aaaaaa;
$abc=$test;
unset($test);
echo$abc;//aaaaaa
?
4.写出如下程序的输出结果
functionget_count{
static$count=0;
return$count++;
}
echo$count;//5
++$count;
echoget_count;//0
echoget_count;//1
?
5.写出如下程序的输出结果
$GLOBALS[var1]=5;
$var2=1;
functionget_value{
global$var2;
$var1=0;
return$var2++;
}
get_value;
echo$var1;//0
echo$var2;//2
?
6.写出如下程序的输出结果
functionget_arr($arr){
unset($arr[0]);
}
$arr1=array(1,2);
$arr2=array(1,2);
get_arr($arr1);
get_arr($arr2);
echocount($arr1);//1
echocount($arr2);//2
?
大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《PHP面试题大全》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
基础题:
1.表单中get与post提交方法的区别?
答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.
2.session与cookie的区别?
答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。
两者都可通过时间来设置时间长短
3.数据库中的事务是什么?
答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。
简述题:
1、用PHP打印出前一天的时间格式是2006-5-1022:21:21(2分)
答:echodate(Y-m-dH:i:s,strtotime(-1days));
2、echo,print,print_r的区别(3分)
答:echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
echo输出一个或者多个字符串
3、能够使HTML和PHP分离开使用的模板(1分)
答:Smarty,Dwoo,TinyButStrong,TemplateLite,Savant,phemplate,XTemplate
5、使用哪些工具进行版本控制?(1分)
答:cvs,svn,vss;
6、如何实现字符串翻转?(3分)
答:echostrrev($a);
7、优化MYSQL数据库的方法。(4分,多写多得)
答:
1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOTNULL,例如省份,性别,最好设置为ENUM
2、使用连接(JOIN)来代替子查询:
a.删除没有任何订单客户:DELETEFROMcustomerinfoWHEREcustomeridNOTin(SELECTcustomeridFROMorderinfo)
b.提取所有没有订单客户:SELECTFROMcustomerinfoWHEREcustomeridNOTin(SELECTcustomeridFROMorderinfo)
c.提高b的速度优化:SELECTFROMcustomerinfoLEFTJOINorderidcustomerinfo.customerid=orderinfo.customerid
WHEREorderinfo.customeridISNULL
3、使用联合(UNION)来代替手动创建的临时表
a.创建临时表:SELECTnameFROM`nametest`UNIONSELECTusernameFROM`nametest2`
4、事务处理:
a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败
mysql_query(BEGIN);
mysql_query(INSERTINTOcustomerinfo(name)8iVALUES($name1);
mysql_query(SELECT*FROM`orderinfo`wherecustomerid=.$id);
mysql_query(COMMIT);
5、锁定表,优化事务处理:
a.我们用一个SELECT语句取出初始数据,通过一些计算,用UPDATE语句将新值更新到表中。
包含有WRITE(write)关键字的LOCKTABLE语句可以保证在UNLOCKTABLES命令被执行之前,
不会有其它的访问来对inventory进行插入、更新或者删除的操作
mysql_query(LOCKTABLEcustomerinfoREAD,orderinfoWRITE);
mysql_query(SELECTcustomeridFROM`customerinfo`whereid=.$id);
mysql_query(UPDATE`orderinfo`SETordertitle=$titlewherecustomerid=.$id);
mysql_query(UNLOCKTABLES);
6、使用外键,优化锁定表
a.把customerinfo里的customerid映射到orderinfo里的customerid,
任何一条没有合法的customerid的记录不会写到orderinfo里
CREATETABLEcustomerinfo
(
customeridINTNOTNULL,
PRIMARYKEY(customerid)
)TYPE=INNODB;
CREATETABLEorderinfo
(
orderidINTNOTNULL,
customeridINTNOTNULL,
PRIMARYKEY(customerid,orderid),
FOREIGNKEY(customerid)REFERENCEScustomerinfo
(customerid)ONDELETECASCADE
)TYPE=INNODB;
注意:ONDELETECASCADE,该参数保证当customerinfo表中的一条记录删除的话同时也会删除order
表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB;
7、建立索引:
a.格式:
(普通索引)-
创建:CREATEINDEX索引名ONtablename(索引字段)
修改:ALTERTABLEtablenameADDINDEX[索引名](索引字段)
创表指定索引:CREATETABLEtablename([...],INDEX[索引名](索引字段))
(唯一索引)-
创建:CREATEUNIQUE索引名ONtablename(索引字段)
修改:ALTERTABLEtablenameADDUNIQUE[索引名](索引字段)
创表指定索引:CREATETABLEtablename([...],UNIQUE[索引名](索引字段))
(主键)-
它是唯一索引,一般在创建表是建立,格式为:
CREATATABLEtablename([...],PRIMARYKEY[索引字段])
8、优化查询语句
在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《PHP经典笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1请说明PHP中传值与传引用的区别。什么时候传值什么时候传引用?
答:传值只是把某一个变量的值传给了另一个变量,而引用则说明两者指向了同一个地方。
2在PHP中error_reporting这个函数有什么作用?
答:Theerror_reportingfunctionsetstheerror_reportingdirectiveatruntime.PHPhasmanylevelsoferrors,usingthisfunctionsetsthatlevelfortheduration(runtime)ofyourscript.
3请用正则表达式(RegularExpression)写一个函数验证电子邮件的格式是否正确。
答:
php
if(isset($_POST['action'])
$_POST['action']==submitted)
{
$email=$_POST['email'];
if(!preg_match(/^(?:w+.?)*w+@(?:w+.?)*w+$/,$email))
{
echo
电子邮件检测失败;
}
else
{
echo
电子邮件检测成功;
}
}
else
{
?
大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《10条PHP编程习惯》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1、使用单引号括起来的字符串
当使用双引号来括字符串时,PHP解释器会对其进行变量替换、转义等操作,如/n。如果只想输出一个基本的字符串,用单引号会节省一些资源。当然,如果需要进行变量替换的,那就必须用双引号了。
2、字符串的输出
以下哪一条语句的运行速度最快?
printHimynameis$a.Iam$b$$
echoHimynameis$a.Iam$b$$
echoHimynameis.$a..Iam.$b;
echoHimynameis,$a,.Iam,$b;
echoHimynameis,$a,.Iam,$b;
最后一条的运行速度是最快的。print比echo要慢,在字符串中进行变量替换时会慢,而连接字符串要比用逗号连接来得慢,最后一句则是第一个习惯的体现。所以,不在字符串中进行变量替换不仅会加快程序运行速度,也会让你的代码在任何语法高亮显示的编辑器中显得更为易懂(变量会被高亮显示出来)。很少人知道echo的参数可以用逗号连接,且速度会比字符串连接要来得快。最后再用上第一个习惯,那这条语句就非常好了。
3、在数组索引中使用单引号
正如你在上面的测试题中所看到的,$x[sales]从严格意义上来说是错误的,索引应该被括起来,即$x[sales]。这是因为PHP会将没有括起来的索引辨认为裸字符串,并把它解释为一个常量。当找不到该常量的定义时,才将其解释为一个字符串,所以这条语句才是可运行的。把索引括起来可以省去这部分工作,如果将来正好要用这一字符串定义常量时也就不会有错误了。
4、不使用开始标志的缩写形式
你正在使用这样的符号吗?
5、尽量不要使用正则表达式
在进行常规的字符串操作时,尽可能不要去使用正则表达式(preg和ereg系列函数)。str_replace函数要比preg_replace快得多,甚至strtr函数也要比str_replace来得快。省去这些不必要的麻烦吧,你的老板会感谢你的。
6、不要在循环声明中使用函数
这个问题不单单出现在PHP中,你可以在其他语言的代码中经常看到:
差:for($i=0;$icount($array);$i++){}
好:$count=count($array);for($i=0;$ilt;$count;$i++){}
如果在循环声明中使用了count函数,那每次循环都会调用一次。如果循环次数很多,会浪费非常多的时间。
7、不要使用register_globals和magicquotes
老版本的PHP在安装时会默认打开这两个功能,这会引起安全漏洞、编程错误及其他的问题,如只有用户输入了数据时才会创建变量等。如今这两个功能都被舍弃了,每个程序员都应该避免使用。
8、一定要对变量进行初始化(这里的初始化指的是声明)
当需要没有初始化的变量,PHP解释器会自动创建一个变量,但依靠这个特性来编程并不是一个好主意。这会造成程序的粗糙,或者使代码变得另人迷惑,因为你需要探寻这个变量是从哪里开始被创建的。另外,对一个没有初始化的变量进行递增操作要比初始化过的来得慢。所以对变量进行初始化会是个不错的主意。
9、对代码进行注释
这个问题已经提过很多次了,但再多次也不够。我知道有些地方是不聘用不对代码进行注释的程序员的。我在前一次工作面试后和副总、面试官一起浏览我写的代码,当他们对我所做的代码注释印象深刻,还了解了一下我的这一习惯。一天之后,我得到了这个工作。
我知道有些自称为PHP大师的人声称自己的代码写得很好,不需要添加什么注释。在我看来,这些人都是垃圾。学一写注释的规范和技巧,熟悉一下phpDocumentor或Doxygen之类的注释辅助软件,都是值得的。
10、遵循一个编程规范
关于这一点,是你需要在面试中询问你潜在的老板的,问问他们正在使用什么编程规范。PEAR?Zend?内部规范?要提及你正在使用的编程规范,不管是你自己创建的,还是目前普遍流行的一种。对于PHP这种松松垮垮的语言来说,如果没有一个好的编程规范,那么那些代码就会看起来想一堆垃圾。发臭的,令人作呕的垃圾。一些基本的规范包括空格规范、打括号匹配、命名风格等。这对任何一个追求高质量的代码的人来说都是必须的。
有人说:我讨厌你的4个空格的缩进。我要说,什么?用4个空格来缩进?这比用制表符过占用3个字符的空间。更重要的是,只要是使用比记事本高级的编辑器,你可以自定义制表符的缩进值。所以每个程序员都可以以其最习惯的方式来看代码。可以时设置为4,也可以设置为0(如果你是个受虐狂)。反正我不在乎,但你就是不能用空格来缩进!
大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《PHP笔试题含答案》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1、用PHP打印出前一天的时间,格式是2006-5-1022:21:21
//echodate(Y-m-dH:i:s,time-60*60*24
echodate(Y:m:dH:i:s,strtotime(-1day));
?
2、echo,print,print_r的区别
echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象
3、能够使HTML和PHP分离开使用的模板
somuch,其实PHP本身就是一种模版引擎,我用过的是smarty,常见的还有PHPLib,FastTemplate,Savant这里有个模板引擎列表:http:///forums/showthread.php?t=123769
4.如何实现PHP、JSP交互?
题目有点含糊不清,SOAP,XML_RPC,Socketfunction,CURL都可以实现这些,如果是考PHP和Java的整合,PHP内置了这种机制(如果考PHP和.NET的整合,也可以这么回答),例如$foo=newJava(java.lang.System);
5.使用哪些工具进行版本控制?
CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.我一直用SVN,题目是问用什么工具,呃,这个可能需要这么回答:CVSServeronApache作服务端,WinCVS作客户端;SubversiononApache/DAV做服务端,TortoiseSVN做客户端,或者Subclipse做客户端
6.如何实现字符串翻转?
其实PHP本身就有字符串翻转的函数:strrev,不妨试试echostrrev($str);不过所有的这三种方法都不能解决中文字符串翻转的问题,会出错的。
functionreverse($var)
{
$res=;
for($i=0,$j=strlen($var);$i$j;$i++)
{
$res=$var[$i].$res;
}
return$res;
}
$tmpvar=wofang;
$res=reverse($tmpvar);
echo$res;
?
7、优化MYSQL数据库的方法。
(1).数据库设计方面,这是DBA和Architect的责任,设计结构良好的数据库,必要的时候,去正规化(英文是这个:denormalize,中文翻译成啥我不知道),允许部分数据冗余,避免JOIN操作,以提高查询效率
(2).系统架构设计方面,表散列,把海量数据散列到几个不同的表里面.快慢表,快表只留最新数据,慢表是历史存档.集群,主服务器Readwrite,从服务器readonly,或者N台服务器,各机器互为Master
(3).(1)和(2)超越PHPProgrammer的要求了,会更好,不会没关系.检查有没有少加索引
(4).写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,大量的GroupBy和orderby,没有limit等等.必要的时候,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询结果,explain每一个sql语句
(5).所得皆必须,只从数据库取必需的数据,比如查询某篇文章的评论数,selectcount(*)wherearticle_id=?就可以了,不要先select*wherearticle_id=?然后msql_num_rows.
只传送必须的SQL语句,比如修改文章的时候,如果用户只修改了标题,那就updatesettitle=?wherearticle_id=?不要setcontent=?(大文本)
(6).必要的时候用不同的存储引擎.比如InnoDB可以减少死锁.HEAP可以提高一个数量级的查询速度
8、谈谈事务处理
A给B的账户转账50美元的例子
在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《PHP笔试题及答案》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中
//本页地址,SCRIPT_NAME也可以:php/test.php
echo$_SERVER[PHP_SELF].
;
//链接到当前页面的前一页面的URL地址:
echo$_SERVER[HTTP_REFERER].
;
//其它的见参考手册:语言参考》变量》预定义变量
//前执行脚本的绝对路径名:D:Inetpubwwwrootphpest.php
echo$_SERVER[SCRIPT_FILENAME].
;
//正在浏览当前页面用户的IP地址:127.0.0.1
echo$_SERVER[REMOTE_ADDR].
;
//查询(query)的字符串(URL中第一个问号?之后的内容):id=1bi=2
echo$_SERVER[QUERY_STRING].
;
//当前运行脚本所在的文档根目录:d:inetpubwwwroot
echo$_SERVER[DOCUMENT_ROOT].
;
?
2.执行程序段将输出__。
//参考手册》语言参考》运算符》算术运算符》%为取模运算,输出0
echo8%(-2).
;
//取模$a%$b在$a为负值时的结果也是负值。输出-2
echo((-8)%3).
;
//输出2
echo(8%(-3)).
;
?
3.在HTTP1.0中,状态码401的含义是____;如果返回找不到文件的提示,则可用header函数,其语句为____。
答:401表示未授权;header(HTTP/1.0404NotFound);[见参考手册》函数参考》HTTP函数》header]
4.数组函数arsort的作用是____;语句error_reporting(2047)的作用是____。
答:arsort:对数组进行逆向排序并保持索引关系error_reporting(2047)的作用是:reportAllerrorsandwarnings
5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):
$script=以下内容不显示:;
echopreg_replace(/].*?.*?/si,替换内容,$script);
?
6.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,
然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
答:LoadModulephp5_modulec:/php/php5apache2.dll;AddTypeapplication/x-httpd-php.php
见参考手册》目录》II.安装与配置》6.Windows系统下的安装》MicrosoftWindows下的Apache2.0.x
7.语句include和require都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句____来代替它们。
答:在如何处理失败时,include产生一个警告而require则导致一个致命错误;require_once/include_once
8.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.
答:allow_call_time_pass_referenceboolean:是否启用在函数调用时强制参数被按照引用传递,见参考手册》附录G
9.SQL中LEFTJOIN的含义是__,如果tbl_user记录了学生的姓名(name)和学号(ID),
tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____.
答:自然左外连接
createdatabasephpinterview;
usephpinterview
createtabletbl_user
(
IDintnotnull,
namevarchar(50)notnull,
primarykey(ID)
《PHP如何与mysql建立链接》由编辑撰写而成,内容素材主要来源于网络,希望在您求职技巧过程中能帮到您!我们把大量的“如何职业规划”内容汇集于专题再现给您,希望您喜欢!
相关文章
最新更新