当前位置:  编程技术>php
本页文章导读:
    ▪php数组去重实例及分析       一维数组的重复项: 使用array_unique函数即可,使用实例如下: 代码如下:              <?php                  $aa=array("apple","banana","pear","apple","wail","watermalon");          .........
    ▪php三维数组去重(示例代码)       假设叫数组 $my_array; 代码如下:// 新建一个空的数组.$tmp_array = array(); $new_array = array(); // 1. 循环出所有的行. ( $val 就是某个行)foreach($my_array as $k => $val){     $hash = md5(json_encode($val));    if .........
    ▪玩转图像函数库—常见图形操作       我尽量不说大理论,诸如什么是png,自己查解决. PHP自4.3版本开始,捆绑了自己的GD2库,用户可以自己下载并设置.如果要查看自己的php版本是否支持gd模块(支持JPEG,PNG,WBMP但不再支持GIF),如下方式是.........

[1]php数组去重实例及分析
    来源: 互联网  发布时间: 2013-12-24

一维数组的重复项:

使用array_unique函数即可,使用实例如下:

代码如下:

              <?php
                  $aa=array("apple","banana","pear","apple","wail","watermalon");
                  $bb=array_unique($aa);
                  print_r($bb);
               ?>

结果如下:Array ( [0] => apple [1] =>banana [2] => pear [4] => wail [5]=> watermalon ) 。

二维数组的重复项:

对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明:

㈠因为某一键名的值不能重复,删除重复项

代码如下:

          <?php
           function assoc_unique($arr, $key)
            {
              $tmp_arr = array();
              foreach($arr as $k => $v)
             {
                if(in_array($v[$key],$tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
               {
                  unset($arr[$k]);
               }
             else {
                 $tmp_arr[] = $v[$key];
               }
             }
           sort($arr); //sort函数对数组进行排序
           return $arr;
           }

           $aa = array(
           array('id' => 123, 'name' =>'张三'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 124, 'name' =>'王五'),
           array('id' => 125, 'name' =>'赵六'),
           array('id' => 126, 'name' =>'赵六')
           );
           $key = 'id';
           assoc_unique(&$aa, $key);
           print_r($aa);
           ?>


显示结果为:Array ( [0] => Array ( [id] =>123 [name] => 张三 ) [1] => Array ([id] => 124 [name] => 王五 ) [2]=> Array ( [id] => 125 [name]=> 赵六 ) [3] => Array ( [id]=> 126 [name] => 赵六 ) )

㈡因内部的一维数组不能完全相同,而删除重复项

代码如下:

           <?php
           function array_unique_fb($array2D){
                foreach ($array2D as $v){
                    $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
                    $temp[] = $v;
                }
                $temp =array_unique($temp);   //去掉重复的字符串,也就是重复的一维数组
               foreach ($temp as $k => $v){
                   $temp[$k] = explode(",",$v);  //再将拆开的数组重新组装
               }
               return $temp;
           }

           $aa = array(
           array('id' => 123, 'name' =>'张三'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 124, 'name' =>'王五'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 126, 'name' =>'赵六')
           );
           $bb=array_unique_fb($aa);
           print_r($bb)
           ?>


显示结果:Array ( [0] => Array ( [0] =>123 [1] => 张三 ) [1] => Array ( [0]=> 123 [1] => 李四 ) [2]=> Array ( [0] => 124 [1]=> 王五 ) [4] => Array ( [0]=> 126 [1] => 赵六 )) 

    
[2]php三维数组去重(示例代码)
    来源: 互联网  发布时间: 2013-12-24

假设叫数组 $my_array;

代码如下:

// 新建一个空的数组.
$tmp_array = array();

$new_array = array();

// 1. 循环出所有的行. ( $val 就是某个行)
foreach($my_array as $k => $val){

    $hash = md5(json_encode($val));
    if (in_array($hash, $tmp_array)) {
        echo('这个行已经有过了');
    }else{
        // 2. 在 foreach 循环的主体中, 把每行数组对象得hash 都赋值到那个临时数组中.
        $tmp_array[] = $hash;
        $new_array[] = $val;
    }
}

print_r($new_array);


$new_array 即为筛选后无重复数据的数组。

    
[3]玩转图像函数库—常见图形操作
    来源: 互联网  发布时间: 2013-12-24

我尽量不说大理论,诸如什么是png,自己查解决.

PHP自4.3版本开始,捆绑了自己的GD2库,用户可以自己下载并设置.如果要查看自己的php版本是否支持gd模块(支持JPEG,PNG,WBMP但不再支持GIF),如下方式是一种方法:

if(!function_exists('imagecreate')) {
die('本服务器不支持GD模块');
}

如果不支持的话,如何配置 ? 下载gd模块的dll文件,修改php.ini,重启服务器即可.

以下简称PHP作图为PS.

当您打算 PS的话,应该完成如下如下步骤,这是必经的.

1:创建基本PS对象(我假设为$image),填充背景(默认黑),以后的全部ps操作都是基于这个背景图像的.
2:在$image上作图.
3:输出这个图像.
4:销毁对象,清除使用内存.

首先,我们来认识几个常用的函数,这些函数在php手册里面都有详细介绍,此处大体引用下.

resource imagecreate ( int x_size, int y_size )
imagecreate() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的空白图像。
此函数基本同imagetruecolor($width,$height).

int imagecolorallocate ( resource image, int red, int green, int blue )
imagecolorallocate() 返回一个标识符,代表了由给定的 RGB 成分组成的颜色。image 参数是 imagecreatetruecolor() 函数的返回值。red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。

bool imagefill ( resource image, int x, int y, int color )
imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填充)。


bool imageline ( resource image, int x1, int y1, int x2, int y2, int color )
imageline() 用 color 颜色在图像 image 中从坐标 x1,y1 到 x2,y2(图像左上角为 0, 0)画一条线段。

bool imagestring ( resource image, int font, int x, int y, string s, int col )
imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。如果 font 是 1,2,3,4 或 5,则使用内置字体。

array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
本函数比较重要,参数较多,此处不再列出,它主要是写字到图像上,和上面的函数类似,但必前者强大.

bool imagefilltoborder ( resource image, int x, int y, int border, int color )
imagefilltoborder() 从 x,y(图像左上角为 0, 0)点开始用 color 颜色执行区域填充,直到碰到颜色为 border 的边界为止。【注:边界内的所有颜色都会被填充。如果指定的边界色和该点颜色相同,则没有填充。如果图像中没有该边界色,则整幅图像都会被填充。】

bool imagefilledellipse ( resource image, int cx, int cy, int w, int h, int color )
imagefilledellipse() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)为中心画一个椭圆。w 和 h 分别指定了椭圆的宽和高。椭圆用 color 颜色填充。如果成功则返回 TRUE,失败则返回 FALSE。

输出图像数据:imagepng($image[,$filename])


    
最新技术文章:
▪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