‘大公司’的PHP面试题

 更新时间:2016年11月25日 16:08  点击:1576

http://topic.111cn.net/u/20071202/16/e53996de-4725-4dfa-bf14-c197afeed93c.html

 

 



<?php
class engage
{
    
public function getArray()
    {
        
$arr1 = array (
        
''0'' => array (''fid'' => 1, ''tid'' => 1, ''name'' => ''Name1'' ),
        
''1'' => array (''fid'' => 1, ''tid'' => 2 , ''name'' => ''Name2'' ),
        
''2'' => array (''fid'' => 1, ''tid'' => 5 , ''name'' => ''Name3'' ),
        
''3'' => array (''fid'' => 1, ''tid'' => 7 , ''name'' => ''Name4'' ),
        
''4'' => array (''fid'' => 3, ''tid'' => 9, ''name'' => ''Name5'' )
        );
        
$arr2 = array();
        
foreach ($arr1 as $key => $value)
        {
            
$arr2[$value[''fid'']][] = array(''tid'' => $value[''tid''],''name'' => $value[''name'']);
        }
        
return $arr2;
    }
    
//print_r($arr2);
    //$eString = ''open_door'';

    public function getString($eString = null)
    {
        
$eString = explode(''_'',$eString);
        
$eString = array_map("ucfirst",$eString);
        
$eString = implode($eString,'''');
        
return  $eString;
    }
    
/**
     * 冒泡排序 
     * @return unknown
     
*/
    
public function getBubble()
    {
        
$isOver = false;
        
$bubbleArray =  array(10,2,36,14,10,25,23,85,99,45);
        
$bubbleResult = $bubbleArray;
        
do{
            
$bubbleArray = $bubbleResult;
            
$isOver = true;
            
foreach ($bubbleArray as $key => $value)
            {
                
if ($value < $bubbleResult[$key-1])
                {
                    
$bubbleResult[$key]=$bubbleResult[$key-1];
                    
$bubbleResult[$key-1]=$value;
                    
$isOver = false;
                }
            }
        }
while (!$isOver);
        
return $bubbleResult;
    }

}
$engage = new engage();
print_r($engage->getArray());
echo $engage->getString(''make_by_id'');
print_r($engage->getBubble());
?>
</pre>

 

 



<?php
/**
 * 第二题正则替换实现.
 *
 
*/
function getString($eString = null)

    
$eString = preg_replace(array("/(^[a-z]{1}|_[a-z]{1})/e",''/_/''),
                            
array("strtoupper(''1'')",''''),
                            
$eString);
    
return  $eString;
}
?>


<

<?php 
/**
 * session处理器 
 * memcache 实现
 * @author MoXie SysTem128@GMail.Com 
 
*/ 
class SessionHandler extends Memcache
{
    
public $_sessionId;             # session 编号
    public $_sessionExpire;         # session 过期时间
    public $_sessionIsQuery;
    
public function __construct()
    {
        
$this->_sessionExpire = 600;
        
$this->connect(''localhost'',11211);
    }
    
/**
     * 获取所有定位字段 
     * 
     
*/ 

    
/**
   * 读取 Session 
   * 
   * @return unknown 
   
*/ 
    
public function getSession($snKey)
    {
        
$returnInfo = $this->get($snKey);
        
$this->_sessionIsQuery = (bool)$returnInfo;
        
return $returnInfo;
    }
    
/**
   *  插入新的Session 
   
*/ 
    
public function insertSession($snKey,$value)
    {
        
return $this->set($snKey,$value,0,$this->_sessionExpire);
    }
    
/**
   * 更新session信息 
   * 
   * @return unknown 
   
*/ 
    
public function updateSession($snKey,$value)
    {
        
# 修改语句
        return  $this->set($snKey,$value,0,$this->_sessionExpire);
    }
    
/**
   * 删除Session 
   * 
   * @return unknown 
   
*/ 
    
public function delSession($snKey)
    {
        
return $this->delete($snKey,0);
    }
    
/**
   * 删除过期 Session 
   * 
   * @return unknown 
   
*/ 
    
public function expireSession()
    {
        
return true;
    }
    
/**
   * session 启动器 
   * 
   
*/ 

    
public function on_session_start()
    {
        
$this->_sessionSite = 1;
        
$this->_sessionId = session_id();
        
return true;
    }
    
/**
   * session 终止 
   
*/ 
    
public function on_session_end()
    {
        
return $this->expireSession();
    }
    
/**
   * 读取方法 
   * 
   * @param unknown_type $key 
   
*/ 
    
public function on_session_read($key)
    {
        
return $this->getSession($key);
    }
    
/**
   * 写入方法 
   * 
   * @param unknown_type $key 
   * @param unknown_type $value 
   
*/ 
    
public function on_session_write($key,$value)
    {
        
$this->getSession($key);
        
if ($this->_sessionIsQuery)
        {
            
$this->updateSession($key,$value);
        }
else{
            
$this->insertSession($key,$value);
        }
        
return true;
    }
    
/**
   * 销毁方法 
   * 
   * @param unknown_type $key 
   
*/ 
    
public function on_session_destroy($key)
    {
        
return $this->delSession();
    }
    
/**
   * 过期方法 
   * 
   * @param integer $maxLifeTime 
   
*/ 
    
public function on_session_gc($maxLifeTime)
    {
        
return $this->expireSession();
    }
}

$sessionHandler = new SessionHandler();
session_set_save_handler(
array(&$sessionHandler,''on_session_start''),
array(&$sessionHandler,''on_session_end''),
array(&$sessionHandler,''on_session_read''),
array(&$sessionHandler,''on_session_write''),
array(&$sessionHandler,''on_session_destroy''),
array(&$sessionHandler,''on_session_gc'')
);
unregister_tick_function(''session_write_close'');

session_start();
//$_SESSION[''MoXie''] = ''Wonderfull!'';
//$_SESSION[''SysTem128''] = ''Wonderfull!'';
//session_unregister(''MoXie'');

print_r($_SESSION);
?>  

了解如何使用 Asynchronous JavaScript™ + XML (Ajax) 和 PHP 在 Web 应用程序中建立聊天系统。您的客户不需要下载或安装任何专门的即时消息通讯软件,就能和您及其他客户讨论网站的内容。

Web 2.0 一词出现以来,开发人员都在说社区。不论您是否认为这有点夸大其辞,但让用户或读者能够方便地实时讨论页面主题或者销售的产品,这一想法还是很吸引人的。但是怎么办呢?能否在推销产品的页面中加入聊天,而不必让客户安装任何特殊的软件包括 Adobe Flash Player 呢?当然!实践证明,用免费的现成工具如 PHP、MySQL、动态 HTML (DHTML)、Ajax 和 Prototype.js 库就能完全做到。

不再罗嗦了,让我们立即开始吧。 


本文转自:IBM developerWorks 中国
请点击此处查看全文

忙了一整天都没有成果,突然想起看一下appserv的配置文件,果然通过了。欢喜中。。。记下来先。
使用软件版本:
apache_2.2.6-win32-x86-openssl-0.9.8e.msi
mysql-5.0.45-win32.exe
php-5.2.5-Win32.zip
phpMyAdmin-2.11.2.2-all-languages.zip

1.安装apache到d:serverapache2.2
2.安装MySQL到d:servermysql5
3.解压php到d:serverphp
4.拷贝php文件夹下的libmysql.dll到c:windowssystem32目录下;
5.拷贝php文件夹下的php.ini-recommended到c:windows下并改名为php.ini
--------------------------------------------------------------------
6.打开apache的配置文件httpd.conf
    a.在有许多LoadModule处添加一行:
        LoadModule php5_module d:/Serverphpphp5apache2_2.dll
    b.修改DocumentRoot "e:/www" 这是放置网页的根目录,自己想设置在什么地方就设置在什么地方。
    c.# This should be changed to whatever you set DocumentRoot to.
        <Directory "e:/www">
       找到这里以后,把原来<Directory "">中的路径改成和b一样的路径。
    d.在DirectoryIndex index.html处添加index.htm index.php
    e.最后在<IfModule></IfModule>附近添加再添加一段
        <IfModule mod_php5.c>
              AddType application/x-httpd-php .php
              AddType application/x-httpd-php .php3
              AddType application/x-httpd-php-source .phps
        </IfModule>
------------------------------------------------------------------------
7.打开在c:windows下的php.ini文件
    a.将一下语句前的;符号去掉
        extension=php_dbase.dll
        extension=php_gd2.dll
        extension=php_mbstring.dll
        extension=php_mysql.dll
        extension=php_mysqli.dll
        extension=php_sockets.dll
 &nbs 随着adobe的FLEX和ROMTING的开源化又引起一场的RIA风波,我作为传统的WEB开发人员被其深深的吸引,作为web开发人员很关注flash如何和后台连接,在网上苦苦寻找终于发现了,在AS3下如何和后台通信,其实FLASH ROMTING 和JAVA DWR设计很相似都是通过中间来转化后台和前台对象,今天我就以一个金典的HELLOWORLD程序来展现这个框架。
        首先到http://www.amfphp.org下
[!--infotagslink--]

相关文章

  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • 7道关于JS this的面试题,你能答对几个

    这篇文章主要给大家介绍了7道关于JS this的面试题,来看看你能答对几个,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-05
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • PHP如何使用cURL实现Get和Post请求

    这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
  • 谈谈PHP中相对路径的问题与绝对路径的使用

    经常看到有人踩在了PHP路径的坑上面了,感觉有必要来说说PHP中相对路径的一些坑,以及PHP中绝对路径的使用,下面一起来看看。 ...2016-08-24
  • thinkPHP中多维数组的遍历方法

    这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
  • php构造方法中析构方法在继承中的表现

    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • jQuery+PHP+MySQL实现无限级联下拉框效果

    这篇文章主要介绍了jQuery+PHP+MySQL实现无限级联效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-02-21
  • php图片添加文字水印实现代码

    这篇文章主要为大家详细介绍了php图片添加文字水印实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-03-17
  • php有序列表或数组中删除指定的值的实现代码

    这篇文章主要介绍了php有序列表或数组中删除指定的值的实现代码,删除给定的值之后,得到一个新的有序列表,长度-1,下面是具体的实现方法...2021-08-22