当前位置:  编程技术>php
本页文章导读:
    ▪php无重复合并多个数组的元素值的代码      本节内容: 合并 php数组的元素值,且是无重复的合并。 例子:   代码示例: <?php /** * 无重复合并多个数组的元素值 * by www. */ function array_values()_merge()  {      $argc = func_num_args();.........
    ▪php不能生成类似.pid的标识进程的临时文件      在linux C编程里,在一个进程里建立一个文件,保持打开状态,然后unlink掉文件,它并不实际删除,而是等到进程结束时,所有的fd都关闭了,才真正清除掉。 在php编程中,用同样的操作方法.........
    ▪PHP检查库或函数是否可用      如何在php中检测库或函数是否可用呢?有兴趣的朋友可以参考下文的内容。 1,获取所有可用的模块 - get_loaded_extensions 该函数返回所有已经加载的(可用的)模块。 用法:   代码示例: <?.........

[1]php无重复合并多个数组的元素值的代码
    来源: 互联网  发布时间: 2013-12-24

本节内容:
合并 php数组的元素值,且是无重复的合并。

例子:
 

代码示例:
<?php
/**
* 无重复合并多个数组的元素值
* by www.
*/
function array_values()_merge() 

    $argc = func_num_args(); 
    if ($argc == 0) { 
        return false; 
    } else if ($argc == 1) { 
        $arg1 = func_get_arg(0); 
        if (is_array($arg1)) { 
            return array_values(array_unique($arg1)); 
        } else { 
            return array($arg1); 
        } 
    } else { 
        $arg_list = func_get_args(); 
        $arr = array(); 
        for ($i=0; $i<$argc; $i++) { 
            $arr = array_merge($arr, $arg_list[$i]); 
        } 
        return array_values(array_unique($arr)); 
    } 

 
//调用示例 
$a = array('huanghao'); 
$b = array('huanghao','zhaodefang','jiangyu'); 
$c = array('zhaodefang','hh'); 
print_r(array_values_merge($a, $b, $c)); 

    
[2]php不能生成类似.pid的标识进程的临时文件
    来源: 互联网  发布时间: 2013-12-24

在linux C编程里,在一个进程里建立一个文件,保持打开状态,然后unlink掉文件,它并不实际删除,而是等到进程结束时,所有的fd都关闭了,才真正清除掉。

在php编程中,用同样的操作方法想得到一个标识一个进程尚在运行的pid文件,未果!

在php中,如果创建一个文件,并保留此文件的引用指针,则无法unlink文件,会报错:Warning:  unlink Permiss denied。
如果不保留文件指针或将其unset掉,则文件立即删除了,而不是等到进程结束。

同C编程相比,php不允许删除尚有引用指针的文件。

1,php代码:
 

代码示例:
<?php
$filename = "/tmp/test_php.pid";
$fp = fopen($filename, 'w');
//unset($fp);
unlink($filename);
sleep(6);

2,C程序代码
 

代码示例:

#include <stdio.h>

int main()
{
    char *filename = "/tmp/test_c.pid";
    FILE *fp;
    fp = fopen(filename, "w");
    unlink(filename);
    sleep(6);
}


    
[3]PHP检查库或函数是否可用
    来源: 互联网  发布时间: 2013-12-24

如何在php中检测库或函数是否可用呢?有兴趣的朋友可以参考下文的内容。

1,获取所有可用的模块 - get_loaded_extensions
该函数返回所有已经加载的(可用的)模块。

用法:
 

代码示例:
<?php
print_r(get_loaded_extensions());
?>

2,获取指定模块的可用函数 - get_extension_funcs
该函数返回指定模块所有可用的函数。
传入的参数(模块名称)必须是小写。

用法:
 

代码示例:
<?php
print_r(get_extension_funcs("gd"));
?>

3,获取所有已经定义的函数 - get_defined_functions
该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。
用法:
 

代码示例:
<?php
function myrow($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}
 
$arr = get_defined_functions();
 
print_r($arr);
?>
 

输出:
 

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )
 
    [user] => Array
        (
            [0] => myrow
        )
 
)
 

其中 $arr["internal"] 是内置函数, $arr["user"] 是用户自定义函数。

4,检查指定函数是否存在 - function_exists
该函数返回指定函数是否已经定义。

用法:
 

代码示例:
<?php
if (function_exists('imap_open')) {
    echo "IMAP functions are available.<br />\n";
} else {
    echo "IMAP functions are not available.<br />\n";
}
?>

    
最新技术文章:
▪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 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


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

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

浙ICP备11055608号-3