php 面试 本人碰到过的问题 在此做下记录

持续更新,大家有好的题目也希望拿出来晒一下  或者有更好的解释或者方法请留下脚印 Y(^_^)Y

另外请大家注意 本文中的答案仅供参考(错了大家可以提出来)

代码优化

 
  
for ( $i = 0 ; $i < 8 ; $i ++ ){
array_push ( $week , $arr[$i] );
}
for($i=0;$i<8;$i++){
    $week[]=$arr[$i];
}
//这样就没有了调用函数的额外负担

 建立索引的好处和坏处

ContractedBlock.gif ExpandedBlockStart.gif 答案
 
   
好处:查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数
坏处:无论如何都要查询此表,字段大量重复值,增加索引也没有什么意义
记录比较少的,增加索引不会带来速度的优化反而浪费了存储空间,因为索引是需要存 储空间的,而且有个致命缺点是对于update
| insert | delete的每次执行,字段的索引都必须重新计算更新
相关文章连接地址:http
: // xdeduzb.blog.163.com/blog/static/81993637201111044846169/

我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置。听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧 (注:bbe.txt 请大家自己建立一个吧,呵呵 )

ContractedBlock.gif ExpandedBlockStart.gif 答案代码
 
   
function find($word)
{
$fp
= fopen( ' bbe.txt ' , ' r ' );
$ln
= $col = array();
$i
= 1 ;
while ( ! feof($fp))
{
$data
= fgets($fp);
if (preg_match_all( ' /(\s)* ' .$word. ' (\s)+/ ' ,$data,$match))
{
$num
= count($match[ 0 ]);
if ( $num == 1 )
{
$ln[]
= $i;
$col[]
= stripos($data, $word);
}
else {
$start
= 0 ;
for ($j = 0 ;$j < $num;$j ++ ){
$ln[]
= $i;
$start
= $col[] = stripos($data,$word,$start);
$start
++ ;
}
}
}
$i
++ ;
}
fclose($fp);
$xy
= array();
for ($k = 0 ;$k < count($ln);$k ++ ){
$xy[]
= $ln[$k]. ' , ' .$col[$k];
}
print_r($xy);

}

find(
' let ' );

zz

转载于:https://www.cnblogs.com/qingfeng2010/archive/2011/06/09/2076320.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值