1、二维数组去重,生成二维数组

private function array_unique_fb($array2D){

$data = array();

foreach($array2D  as $key =>$value)

{

$isFind = false;

foreach ($data as $key1=>$value1)

{

if ($value1['OpenID'] == $value['OpenID']) {

$isFind = true;

break;

}

}

if (!$isFind)

{

array_push($data, $value);

}

}

return $data;

}

2、上传图片到服务器

private function saveImage($imgurl)

{

$url='Application/Admin/Public/default/images/';

if(!empty($_FILES)){

//            function uprename()

//            {

//                return time() . rand(1000, 5000);

//            }

$rule=time() . rand(1000, 5000);

$upload = new \Think\Upload();// 实例化上传类

$upload->maxSize = 2097152;// 2M

$upload->saveRule = $rule;

$upload->exts = array('jpg', 'png', 'jpeg');// 设置附件上传类型

$upload->rootPath  = SITE_DIR.$url;

$upload->savePath = '';// 设置附件上传目录

$upload->thumb = true;

$upload->thumbPrefix = 'm_';

$upload->thumbMaxWidth = '230';

$upload->thumbMaxHeight = '230';

$info = $upload -> uploadOne($imgurl);

//            var_dump($info);

//            exit;

//将图片上传到本地

if (!$info)

{

// 上传错误提示错误信息

$err = $upload->getError();

$result['result'] = false;

$result['errMsg'] = $err;

return $result;

}

else

{

$image = new \Think\Image();

$open = SITE_DIR.$url.$info['savepath'].$info['savename'];

$image->open($open);

$width = $image->width(); // 返回图片的宽度

$height = $image->height(); // 返回图片的高度

//                if($width<230 || $height<230)

//                {

//                    echo "<script>alert('上传图片的高度和宽度均应大于等于230');history.go(-

1);</script>";

//                    exit();

//                }

//将图片裁剪为230x230并保存为corp.jpg

$image->thumb(1423, 550,\Think\Image::IMAGE_THUMB_FIXED)->save( SITE_DIR.$url.$info

['savepath'].'m_'.$info['savename']);

$rootPath = 'Application/Admin/Public/default/images/';

//将头像存储到OSS

$filed = SITE_DIR."Application/Admin/Public/default/images/".$info['savepath'].'m_'.

$info['savename'];

$save_url = "/".$info['savepath'].$info['savename'];

$local_url = $filed;

$file_name= $info['savename'];

$save_type = 'hudong';

$module_name = 'UCenter';

UP($save_url,$local_url,$file_name,$save_type,$module_name);

$ossname = $info['savepath'].$info['savename'];

$url = $rootPath.$info['savepath'].$info['savename'];

//http://hidong-hudong.oss-cn-hangzhou.aliyuncs.com/hudong/UCenter/2015-10-

22/56289782ed389.jpg

return $ossname;    //  2015-10-22/56289782ed389.jpg

}

}

}

3、Explode(“,”,$Str)          将字符串转化为数组

Implode(“,”,$Arr)          将数组转化为字符串

Array_push($arr,”sss”)      将字符串插入数组

In_Array( “aa”,$Arr)        //判断aa是否在$Arr【一维数组】中

php工作笔记1-数组常用方法总结,二维数组的去重,上传图片到oss服务器的更多相关文章

  1. 【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

  2. C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

    1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...

  3. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...

  4. 06-01 Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 /* 二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的 ...

  5. Java菜鸟学习笔记--数组篇(三):二维数组

    定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...

  6. 剑指Offer的学习笔记(C#篇)-- 二维数组中的查找

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  7. [zt]C++二维数组讲解、二维数组的声明和初始化

    定义: int *pia = new int[10]; // array of 10 uninitialized ints 此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向 ...

  8. c语言,指针与数组--指针与二维数组2

    指向一维数组的指针   char (*p)[10] ;指向一维数组的指针类型 typedef  char(*TYPE_P2ARRAY)[10]  ;   该指针可以指向数组 ,且使用起来效果节本相同, ...

  9. C语言 一维数组叠加为二维数组样例

    这里参看memcpy的用法,将一个一维整型数组不停的叠加为二维数组 使用宏定义来控制二维数组的行列 代码如下: #include <stdio.h> #include <stdlib ...

  10. PHP把2个二维数组合并一个二维数组

    $a = array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,clas ...

随机推荐

  1. trunk 的坑

    三层交换机A和三层交换机B之间原本配置有trunk口,如再用trunk连二层交换机会导致环路,网络不通.将L3 A和L3-B之间断开正常.

  2. 关于JavaScript内存泄漏的质疑

    近几天看了些关于JavaScript内存管理的文章,相对于Java JVM的内存管理,显得简单些. 在学习的过程中,发现有不少网友谈到了循环引用,说循环引用会造成内存泄漏,垃圾回收器无法回收. 实际上 ...

  3. ASP.NET的Cookie和Session

    HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就 ...

  4. MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数

    安装MySQL时,有warning: [root@localhost mysql]# scripts/mysql_install_db --user=mysql Installing MySQL sy ...

  5. 对象之间的引用传递 之 .NET中的深拷贝和浅拷贝

    1.场景 首先,场景是这样的. 有一个Person类,类中有一个类型是Car的属性.用于表述,人开的车. Car类中有一些描述诸如汽车拼盘之类的属性.基本场景就是这样.   2.浅拷贝 Person ...

  6. 【不积跬步,无以致千里】AMQP协议介绍

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  7. Flask 框架下 Jinja2 模板引擎高层 API 类——Environment

    Environment 类版本: 本文所描述的 Environment 类对应于 Jinja2-2.7 版本.   Environment 类功能: Environment 是 Jinja2 中的一个 ...

  8. docker 17 安装

    docker17 安装 新增一键安装命令: curl -sSL https://get.docker.com/ | sh 以下为手动安装过程 翻译自 Get Docker for Ubuntu Doc ...

  9. ThreadLoacl,InheritableThreadLocal,原理,以及配合线程池使用的一些坑

    虽然使用AOP可以获取方法签名,但是如果要获取方法中计算得出的数据,那么就得使用ThreadLocal,如果还涉及父线程,那么可以选择InheritableThreadLocal. 注意:理解一些原理 ...

  10. ExpandableListView仿QQ好友列表

    本例中,对ExpandableListView中的数据进行了封装,分为两个JavaBean,一个为Group类表示组信息,一个Child类表示该组下子列表信息: Group: public class ...