php 面试分析

1,ereg preg_match  ereg_replace preg_replace 对这两种正则表达式的对比,

 bool ereg(string pattern ,string s1,[array regs])以区分大小写的方式在s1中寻找与制定的正则表达式所匹配的子串,如果匹配成功则把匹配项存入regs数组,$regs[1]表示第一个 $regs[0]表示全部,最多可以存储10个,找到返回true 反之false,<?php

if (ereg ("([0-9]{4})-([0-9]){1,2})-([0-9]{1,2})",$date,$regs)){
   echo $regs[3].$regs[2].$regs[1]";
  }else {
     echo "Invalid date from :$date";
    }
?>
ereg_replace(string pattern ,string replacement ,string string)//把string 中匹配pattern的部分替换为replacement,返回替换后的字符串,没有则返回原字符串,
$string ="This is a test";
echo str_replace(" is"," was",$string);//如果 pattern 包含有括号内的子串,则 replacement 可以包含形如 \\digit 的子串,这些子串将被替换为数字表示的的第几个括号内的子串;\\0 则包含了字符串的整个内容。最多可以用九个子串。括号可以嵌套,此情形下以左圆括号来计算顺序
echo ereg_replace("()is","\\1was","$string);//如果replacement中出现数字可能得不到期望的结果,会把数字作为字符的序列值来解释并应用,
echo ereg_replace("(()is)",\\2was",$string);  //outs This was a test
<?php
//将url替换为超链接
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href=\"\\0\">\\0</a>", $text);
?> 

 preg_match(pattern ,subject ,arry ,flags);在subject 中搜索pattern 用搜索结果填充arry  flags设为PREG_OFFSET_CAPTURE表示返回的数字中的单元是 第一项为匹配字符,第二项为偏移量,preg_match()在第一次匹配之后停止搜索,preg_match_all()则会一直搜索到结尾,

strpos()  返回字符第一次出现的位置 int  ucwords();把每个单词的第一个字母大写如果全为大写则还是大写,strtolower() ;转换为小写

strstr()返回字符第一次出现的位置后面的字符,ucfirst();把单词的第一个字母大写strtoupper();转换为大写,

 

<?php
// 从 URL 中取得主机名
preg_match("/^(http:\/\/)?([^\/]+)/i",
    "http://www.php.net/index.html", $matches);
$host = $matches[2];

// 从主机名中取得后面两段
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";
?> 
preg_replace();
<?php
$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = "\${1}1,\$3";
print preg_replace($pattern, $replacement, $string);

/* Output
   ======

April1,2003

*/
?> 

 

 strtotime();返回unix字符时间戳 ,为字符串可以存储 比较大小,strtotime("now");如何把时间戳反转换为时间格式那,用date('y-m-d',str) 函数即可

$nextWeek = time() + (7 * 24 * 60 * 60);
                   
// 7 days; 24 hours; 60 mins; 60secs
echo 'Now:       '. date('Y-m-d') ."\n";
echo
'Next Week: '. date('Y-m-d', $nextWeek) ."\n";

print_r()与var_dump()输出数组的区别 var_dump可以显示值类型,array_values()返回数组中所有的值并建立索引

文件目录操作,

file_exists()文件是否存在,is_readable()是否可读,is_writable()是否可写 fopen()打开文件"r" "wb",fgets()从文件中读取一行,fclose()关闭文件,

 

<?php
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry."\n";
}
$d->close();
?> 
 

 

 

$d = dir(dirname(__file__));//--file--文件中的当前行号,
//echo "Handle: " . $d->handle . "\n";
//echo "Path: " . $d->path . "\n";
while ( false !== ($entry = $d->read ()) ) {
 echo $entry . "<br />";

 

开发工具:studioeclipse 编辑器 mantis  缺陷跟踪 ietest 浏览器测试 firebug  js 网页测试,rational Rose 统一建模工具 powerdesigner   startUML

php.ini 中的模块safe_mode安全模块,默认是Off 若是打开会影响,

system,passthru,exec,shell_exec,popen,phpinfo等等大部分的文件操作函数。 因为Safe_mode是php非常重要

的内嵌的安全机制。默认是关闭的。

count()计算出数组中的单元个数和对象中的属性个数,substr($str,2)返回$str中从下标为2开始以后的字符

字符操作:

strpos($str,'a',1)在$str中找a 第一次出现的位置,当加上参数1时表示忽略第一个,

strrpos($str,'a')在$str中寻找 忽略第一次匹配,返回int

strrchr($str,num)在$str中匹配下标num以后的内容,返回字符串

stristr()不区分大小写 的匹配后面的字符,返回字符stristr($str,'a')

strstr()区分大小写的匹配

多用单引号 不要在循环体中使用函数   $num = count($arry) for($i=1;$i<$num;$i++)

error_reporting()报错级别

$_SERVER() 参数获取ip地址REMOTE_ADDR当前用户的ip $_SERVER['SERVER_ADDR']服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值