当前位置:  编程技术>php
本页文章导读:
    ▪关于php散列数组与格式化(zendframework中的ini读取方式)        时间有限,记录一个列子 $Arr_Test[ 'test.mytest.youtest' ] = 1;  散列结果将'test.mytest.youtest'散列为以test等为键的多维数组  最终的效果是 $Arr_Test[ 'test' ][ 'mytest' ][ 'youtest' ] = 1;  /*.........
    ▪apache启动 the requested operation has failed       小编在拿到别人的服务器(wamp)之后 重启了下apache 竟然启动报the requested operation has failed当时哥就震惊了、于是哥就运行cmd 进入到apache的bin目录。输入httpd.exe -w -n "Apache2.2" -k start看到这个.........
    ▪文件内容搜索和相同文件后缀合并到一个文件中      /** * 两个对外公共方法: * 1:resultPreg(目录,匹配格式) * 2.resultFile(目录,文件后缀名) * * @author 葫芦侠 * */class checkWord{ //const DIR="D_"; //目录的话接一个前缀 //const F='F_'; protecte.........

[1]关于php散列数组与格式化(zendframework中的ini读取方式)
    来源:    发布时间: 2013-11-07

  时间有限,记录一个列子 $Arr_Test[ 'test.mytest.youtest' ] = 1;


  散列结果将'test.mytest.youtest'散列为以test等为键的多维数组


  最终的效果是 $Arr_Test[ 'test' ][ 'mytest' ][ 'youtest' ] = 1;


  



/**
* @desc 格式化数组
* @param array $Arr_Format
* @return array
*/
function formatArray( &$Arr_Format )
{
foreach ( $Arr_Format as $key => $val )
{
$Arr_Key = explode( '.', $key );
if ( is_array( $val ) ) formatArray( $Arr_Format[ $key ] );
if( 1 < count( $Arr_Key ) )
{
/** get the first key and pop it from key array **/
$cFirstKey = $Arr_Key[ 0 ];
array_shift( $Arr_Key );
$Arr_Tmp = hashArray( $Arr_Key, $val );
unset( $Arr_Format[ $key ] );
if( array_key_exists( $cFirstKey, $Arr_Format ) )
{
$Arr_Format[ $cFirstKey ] = array_merge_recursive( $Arr_Format[ $cFirstKey ], $Arr_Tmp );
}
else
{
$Arr_Format[ $cFirstKey ] = $Arr_Tmp;
}
/** the first key must be array, and get the hash val to it **/
}
}
return $Arr_Format;
}

/**
* @desc 散列数组(根据指定的键形成多维数组)
* @param array $Arr_Hash hash key array
* @param mixed $mLastVal the last key value
* @return array
*/
function hashArray( $Arr_Hash, $mLastVal = false )
{
if ( false === is_array( $Arr_Hash ) ) return array();
$iCountArr = count( $Arr_Hash );
for( $i = $iCountArr - 1; $i >= 0; $i-- )
{
if( $i == $iCountArr - 1 )
{
$Arr_Tmp[ $Arr_Hash[ $i ] ] = false == $mLastVal ? array() : $mLastVal;
}
else
{
$Arr_Tmp[ $Arr_Hash[ $i ] ] = $Arr_Tmp;
array_shift( $Arr_Tmp );
}
}
return $Arr_Tmp;
}


  


  使用formatArray( $Arr_Test );就能实现类型zend散列多维数组的方法。


  附,载入ini文件的方法


  



/**
* @desc 载入ini文件
* @param string $cFileName ini file name
* @param bool $bToArray load mode( if to array, default to object )
* @return mixed
*/
function loadIniFile( $cFileName, $bToArray = false )
{
$Arr_IniFile = parse_ini_file( $cFileName, true );
if( false !== $Arr_IniFile )
{
$Arr_IniFile = formatArray( $Arr_IniFile );
if ( false === $bToArray ) $Arr_IniFile = arrayToObject( $Arr_IniFile );
}
return $Arr_IniFile;
}
/**
* @desc 数组转换为对象
* @param mixed $e
* @return mixed
*/
function arrayToObject($e)
{
if ( 'array' != gettype( $e ) ) return;
foreach($e as $k=>$v)
{
if( gettype($v)=='array' || getType($v)=='object' )
$e[$k]=(object)arrayToObject($v);
}
return (object)$e;
}

/**
* @desc 对象转换为数组
* @param mixed $e
* @return mixed
*/
function objectToArray($e){
$e=(array)$e;
foreach($e as $k=>$v)
{
if( gettype($v)=='resource' ) return;
if( gettype($v)=='object' || gettype($v)=='array' )
$e[$k]=(array)objectToArray($v);
}
return $e;
}


  

本文链接


    
[2]apache启动 the requested operation has failed
    来源:    发布时间: 2013-11-07

 小编在拿到别人的服务器(wamp)之后 重启了下apache 竟然启动报

the requested operation has failed

当时哥就震惊了、

于是哥就

运行cmd 进入到apache的bin目录。输入httpd.exe -w -n "Apache2.2" -k start

看到这个哥就笑了 原来是180行有问题 找到的时候才知道 180行这个

DocumentRoot "D:/www/demo"  就是没有这个目录

之后哥把这个删除了 就运动正常了 后来才明白 之前服务器主人 www 目录下有demo这个文件夹 之后删除了

就没有把http.conf 下的配置删除 

所以提醒广大朋友 配置apache 服务器一定要开启虚拟虚拟主机配置

本文链接


    
[3]文件内容搜索和相同文件后缀合并到一个文件中
    来源:    发布时间: 2013-11-07

/**
* 两个对外公共方法:
* 1:resultPreg(目录,匹配格式)
* 2.resultFile(目录,文件后缀名)
*
* @author 葫芦侠
*
*/
class checkWord{
//const DIR="D_"; //目录的话接一个前缀
//const F='F_';
protected static $sum=0; //记录总查找数
protected $result=array(); //数组记录结果
protected $dir; //传进来的目录或者文件名
protected $preg; //需要匹配条件
protected $ext;
protected $dirMer;
protected $fileArr=array(); //数组记录结果
/**
*
* 构造函数
*/
public function __construct(){

}

/*
* 文件搜素
*/
protected function checkFile($file){
$content=file_get_contents($file);
preg_match_all($this->preg, $content, $pregContent);
$len=count($pregContent[0]); //当前文件匹配条数
self::$sum+=$len;
if(empty($len)){
return false;
}else{
return true;
}
}

/**
* 判断文件是否存在
*/
protected function fileExists($dir){
if(!file_exists($dir)){
echo "<script type='text/javascript'>alert('目录或者文件不存在')</script>";
exit();
}
}
/**
* 运行方法
* @param unknown_type $dir
*/
protected function run($dir){
is_dir($dir)?$this->check($dir):$this->checkFile($dir);
}
/**
* 目录搜索
*/
protected function check($dirname){
$handle=@opendir($dirname);
while(($file=@readdir($handle))!==false){
if($file!='.' && $file!='..'){
$dir=$dirname.'/'.$file;
if(is_dir($dir)){
$this->check($dir);
}else{
if($this->checkFile($dir)){ //匹配,返回是否存在结果
$this->result[]=$dir;
}
}
}
}
closedir($handle);

}

/**
* 提取目录文件
*/
protected function getExtFile($dirname){
$handle=@opendir($dirname);
while(($file=@readdir($handle))!==false){
if($file!='.' && $file!='..'){
$dir=$dirname.'/'.$file;
if(is_dir($dir)){
$this->getExtFile($dir);
}else{
//判断文件扩展名
if(
    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
.net/c#/asp.net iis7站长之家
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3