04
2013-02

php程序员面试题第五季

21、一个函数的参数不能是对变量的引用,除非在php.ini中把__设为on。
allow_call_time_pass_reference

22、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须__。
结束标识符所在的行不能包含任何其它字符除";"

23、有一数组 $a=array(3,2,4,9,8);请将其重新排序,按从小到大的顺序列出。
可用冒泡法进行排序:
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,此时第一趟结束,在最后的数必是所有数中的最大数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。

01
2013-02

php程序员面试题第四季

16、简述如何得到当前执行脚本路径,包括所得到参数。
访问http://temp.com/phpinfo.php?id=1
echo $_SERVER['SCRIPT_URL'];   //得到/phpinfo.php
echo $_SERVER["SCRIPT_URI"];  //得到http://temp.com/phpinfo.php
echo $_SERVER["SCRIPT_FILENAME"];  //得到F:/www/Temp/phpinfo.php
echo $_SERVER["REQUEST_URI"];  //得到/phpinfo.php?id=1
echo $_SERVER["SCRIPT_NAME"];  //得到/phpinfo.php

01
2013-02

php程序员面试题第三季

11、用PHP写出显示客户端IP与服务器IP的代码
得到服务器端的IP:
gethostbyname() 参考gethostbyname.php 有时候得不到。
$_SERVER['SERVER_ADDR'];
得到客户端的IP:
$_SERVER['REMOTE_ADDR'];

30
2013-01

php程序员面试题第二季

6、如何实现字符串翻转?
可用内置函数strrev。如果不准用PHP内置函数的就自己写:Hello->olleH

7、$a = "hello";$b = &$a;unset($b);$b = "world";what is $a? 此题的目的是要深刻理解引用。

29
2013-01

php程序员面试题第一季

1、写出五种以上你使用过的PHP的扩展的名称(提示:常用的PHP扩展)
mysql、gd2、pdo、curl、mbstring、soap等,在php.ini中可以找到。尽量多了解一些扩展,了解他们的功能(能做什么)。

28
2013-01

如何让PHP程序设置报错?

在配置文件中加上这两句:
//错误报告设置
error_reporting(E_ALL);
ini_set('display_errors', 1);//是否显示PHP错误信息,1显,0不显

28
2013-01

基础php的elseif 和else if区别?

   elseif和else if在使用大括号的时候是一样的,
   但是elseif可以用于冒号,而else if则不能。
<?php
if ($a > $b) {
   echo "a is bigger than b";
} elseif ($a == $b) {
   echo "a is equal to b";
} else {
   echo "a is smaller than b";
}
?>

28
2013-01

论坛帖子回复的实现过程

在帖子回复表单bbs_looks.php页中,首先判断登录用户是否具有回复的权限,然后根据提交的值展开回复表单的文本框,在文本框中输入回复的主题和内容,最后将数据提交到表达处理页savereply.php中。bbs_looks.php主要代码如下:

25
2013-01

thinkphp3.1模板标签数组变量如何输出?

模板标签的变量输出根据变量类型有所区别如果是数组变量

$data['name'] = 'shiyayong';

$data['email'] = 'shiyayong@qq.com';

$this->assign('data',$data);

23
2013-01

thinkphp系统变量

普通的模板变量需要首先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以{$Think 打头,例如:
{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
{$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
{$Think.cookie.name}  // 输出$_COOKIE['name']变量

23
2013-01

thinkphp框架开发注意事项

1、要注意模板文件位置是相对于项目的入口文件,而不是模板目录。
   还有一种情况是,你需要获取渲染模板的输出内容,就可以使用fetch方法,fetch方法的用法和display基本一致,区别就在于fetch方法渲染后不是直接输出,而是返回渲染后的内容,例如:
$content = $this->fetch('Member:edit');

21
2013-01

如何去掉phpcms V9内容页时间的时分秒,只显示年月日

中华男模网已经上线快三个月了,内容一直都是朋友添加的,他基本上都是在凌晨添加文章,因为时间显示了时分秒,怕用户感觉不专业,就让我把那个时分秒去掉,只保留年月日。比如:2013-01-21 01:20:30这样的之间,只保留2013-01-21

21
2013-01

两种php网站分页样式函数

/*  -------------------------------------------------
*   简单分页函数
*   flag==1,首页  上一页 下一页  末页;        flag==2   << 1 2 3 4 5 >>
*  -------------------------------------------------*/
function fen_page ($totalrows,$url,$pagesize=10,$var='page',$flag=1)
{

18
2013-01

php强制下载文件

<?php
function dl_file($file)
{
   //检查文件是否存在
   if (!is_file($file)) { die("<b>404 File not found!</b>"); }
   //收集文件信息
   $len = filesize($file);
   $filename = basename($file);
   $file_extension = strtolower(substr(strrchr($filename,"."),1));
   //判断媒体类型 Content-Type