php 删除重复数组元素与空元素代码
php删除数组指定元素可以通过以下两种方法实现:
1、遍历数组,然后判断元素的值是否指定值,如果是则用unset()删除。示例代码如下:
代码如下 | 复制代码 |
//$var是要删除的元素值,$array是目标数组; |
2、使用array_flip()函数,该函数的作用是将键名和值反转。示例代码如下:
代码如下 | 复制代码 |
<?php |
删除数组中的空元素
实例:
代码如下 | 复制代码 |
<?php 结果: Array ( [a] => abc [b] => bcd [c] => cde [d] => def ) |
去除数组中的空元素以及重复元素
代码如下 | 复制代码 |
<?php $array = array('2',19,33,88,2,4,5,5,99,99,'',33,''); ?> |
获取日期时间也是网站设计中经常用到的。php提供了date()时间函数来实现这一功能,结构形式如下:
实例:
代码如下 | 复制代码 |
<?php |
参数 | 含义 | 备注 |
---|---|---|
a | 上午或下午 | am或pm |
A | 上午或下午 | AM或PM |
B | 互联网时间 | 000~999 |
d | 月份中的第几天 | 01~31 |
D | 替换成星期几的英文简称 | Mon~Sun |
F | 用英文表示月份 | January~December |
g | 小时 | 1~12 |
G | 小时 | 0~23 |
h | 小时 | 01~12 |
H | 小时 | 00~23 |
i | 分钟 | 00~59 |
I | 是否为夏令时 | 是为1,否为0 |
j | 月份中的第几天 | 1~31 |
l | 星期几 | Sunday~Saturday |
L | 是否为闰年 | 闰年为1,不是闰年为0 |
m | 用数字表示月份,按两位输出 | 01~12 |
M | 月份缩写的英文单词 | Jan~Dec |
n | 月份按阿拉伯数字格式输出 | 1~12 |
s | 秒数 | 00~59 |
S | 每月天数英文后缀 | 1st~2nd |
t | 指定月份的天数 | 28~31 |
T | 本机设置的时区 | 如EST |
w | 一周的第几天(从0~6) | 0~6 |
Y | 替换成4位年号 | 如2011 |
y | 替换成2位的年号 | 如11 |
z | 一年中第几天 | 0~366 |
Z | 以秒表示的时区偏差 | -43200~43200 |
getdate()定义和用法
getdate() 函数取得日期/时间信息。
语法
getdate(timestamp)参数 描述
timestamp 可选。规定 Unix 时间格式中的时间。
说明
返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给出时间戳,则认为是当前本地时间。
数组中的单元如下:
代码如下 | 复制代码 |
<?php Array |
键名 | 说明 | 返回值例子 |
---|---|---|
"seconds" | 秒的数字表示 | 0 到 59 |
"minutes" | 分钟的数字表示 | 0 到 59 |
"hours" | 小时的数字表示 | 0 到 23 |
"mday" | 月份中第几天的数字表示 | 1 到 31 |
"wday" | 星期中第几天的数字表示 | 0(表示星期天)到 6(表示星期六) |
"mon" | 月份的数字表示 | 1 到 12 |
"year" | 4 位数字表示的完整年份 | 例如:1999 或 2003 |
"yday" | 一年中第几天的数字表示 | 0 到 365 |
"weekday" | 星期几的完整文本表示 | Sunday 到 Saturday |
"month" | 月份的完整文本表示 | January 到 December |
0 | 自从 Unix 纪元开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似。 | 系统相关,典型值为从 -2147483648 到 2147483647。 |
mktime() 定义和用法
mktime() 函数返回一个日期的 Unix 时间戳。
参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。
参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。
语法
mktime(hour,minute,second,month,day,year,is_dst)
例子
mktime() 函数对于日期运算和验证非常有用。它可以自动校正越界的输入:
代码如下 | 复制代码 |
<?php echo(date("M-d-Y",mktime(0,0,0,12,36,2001))); echo(date("M-d-Y",mktime(0,0,0,14,1,2001))); echo(date("M-d-Y",mktime(0,0,0,1,1,2001))); echo(date("M-d-Y",mktime(0,0,0,1,1,99))); ?> |
输出:
Jan-05-2002
Feb-01-2002
Jan-01-2001
Jan-01-1999
参数 | 描述 |
---|---|
hour | 可选。规定小时。 |
minute | 可选。规定分钟。 |
second | 可选。规定秒。 |
month | 可选。规定用数字表示的月。 |
day | 可选。规定天。 |
year | 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。 |
is_dst |
可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。 自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。 |
例1
代码如下 | 复制代码 |
function download($file_url,$new_name=''){ |
例2
以下php代码可以解决:
代码如下 | 复制代码 |
<? if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){ echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit(); } $file_name=$_GET['FileName']; $file_dir=$_GET['FileDir']; $FileId=$_GET['FileId']; $file_dir = $file_dir."/"; if (!file_exists($file_dir.$file_name)) { //检查文件是否存在 echo "文件找不到"; exit; } else { $file = fopen($file_dir . $file_name,"r"); // 打开文件 // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($file_dir . $file_name)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo fread($file,filesize($file_dir . $file_name)); fclose($file); exit(); } ?> |
直接下载文件
代码如下 | 复制代码 |
<?php $file = get_file_address();// 文件的真实地址(支持url,不过不建议用url) if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; } ?> |
小提示,header函数不只是可以实现文件下载,他还有很多的功能哦,如发送404,301等等状态信息都是可以的哦。
注意:在使用header之前我们必须在header之前没有任何输出,否则就会报错。
我们使用phpmyadmin的朋友可能会碰到导入2048kb .sql文件了,大了就会提示No data was received to import. Either no file name was submitted、or the file size exceeded the maximum size permitted by your PHP 下在, 我来给大家介绍解决办法。解决方法:
如果你有服务器管理权限,那自然是更好了,我们直接在php.ini下分别对 upload_max_filesize , memory_limit 和 post_max_size进入设置了。
如我的配置
upload_max_filesize = 1200M
memory_limit = 2048M
post_max_size = 1200M
然后重启apache或iis就可以了
如果你没有服务器管理权限,我们还有一个解决办法
phpMyAdmin-3.1.0-all-languages为例,我的安装目录E:/wwwroot/phpMyAdmin/
1.在 phpmyadmin目录里新建一个目录 upload.
2.打开phpmyadmin,找到E:/wwwroot/phpMyAdmin/config.sample.inc.php文件,找到并修改为 $cfg['UploadDir'] = “upload”; 然后点保存.
再打开E:/wwwroot/phpMyAdmin/libraries/config.default.php文件,找到并修改为 $cfg['UploadDir'] = “upload”; 然后点保存.
3.用 FTP 上传 需要导入的sql 文件到 phpmyadmin/upload/ 下
4.访问 phpmyadmin,点击 Import(导入) ,就会出现选择服务器上的文件的下拉框,选择刚才用FTP上传的SQL文件。至此完美解决。
this,parent,self都是在php中的class类中了,下面我来分别介绍this,parent,self在类中用应用与区别有需要的朋友可参考。一,this
1,要用this,你必有是一个对像的形势,不然它会报错的,Fatal error: Using $this when not in object context。
2,this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性
代码如下 | 复制代码 |
< ?php |
我 们看,上面的类分别在11行和20行使用了this指针,那么当时this是指向谁呢?其实this是在实例化的时候来确定指向谁,比如第一次实例化对象 的时候(25行),那么当时this就是指向$nameObject对象,那么执行18行的打印的时候就把print( $this-><name )变成了print( $nameObject->name ),那么当然就输出了"heiyeluren"。
二,self
self是指向类本身,也就是PHP self关键字是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量。
1,self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。
2,用self时,可以不用实例化的
代码如下 | 复制代码 |
< ?php |
三,parent
parent:: 可用于调用父类中定义的成员方法。
parent::的追溯不仅于直接父类。
通过parent::调用父类方法
代码如下 | 复制代码 |
<!-- 声明一个员工类,经理类继承自员工类 --> class Manager extends employee { $manager = new Manager(); |
parent是指向父类的指针,一般我们使用parent来调用父类的构造函数。
相关文章
- 下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
- 这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
- 本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
- 这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
- Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
- 下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <?php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
- 下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
- 本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
- 这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
Centos中彻底删除Mysql(rpm、yum安装的情况)
我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15- 这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下...2020-06-25
- 如何将下面的二维数组转为一维数组。复制代码 代码如下:$msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'name'=>'mary' ), array( 'id...2014-05-31
- 数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
- 在php中为我们提供了一个函数var_export 他可以直接将php代码入到一个文件中哦。 代码如下 复制代码 var_export($times,true);后面不加tru...2016-11-25
- 本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
- 删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢...2018-09-10