php中count 多维数组长度统计实现方法
下面程序运行结果为()
代码如下 | 复制代码 |
?$numb=array( A.3 |
答案:B
count函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12)。如果不设置mode默认为0 。不检测多维数组(数组中的数组)(结果3)。
首先遍历的是外面的数组array得出有两个元素(”color1″,”color2″,”color3″) 为3
再遍历(”color1″,”color2″,”color3″)数组得出的是9个元素 为9
结果就是3+9=12
参考
代码如下 | 复制代码 |
<?php echo(count($fruits[0])); |
你说的可能是用其他方式定义的数组,比如直接用:
代码如下 | 复制代码 |
<?php echo(count($fruits[0])); |
这样那就输出3,因为php中的数组不要求索引必须连续,参考手册上有如下一段:
数组
PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。
实例
获得二维或多维数组的第一维的长度,这是个常用的程序判断,比如你读取的数组是一个二维数组:
代码如下 | 复制代码 |
<?php $arr=array( 0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'), 1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM') ); ?> |
如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
代码如下 | 复制代码 |
<?php if(is_array($arr) && count($arr,COUNT_NORMAL)>0 ) { ..... } else { ..... } ?> |
你可以使用这样的代码来测试该函数:
代码如下 | 复制代码 |
<?php $arr=array( 0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'), 1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM') ); echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL) echo "<br/>"; echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE) ?> |
好了,到此位置,已经解决php中获取二维或多维数组的第一维长度的问题
浏览器打开页面实现文件下载的程序代码(php/jsp/java) 有需要学习的同学可参考一下。tomcat中配置如下:
代码如下 | 复制代码 |
<mime-mapping> |
对于如上配置,当访问扩展名txt或jpg的资源时就出现下载提示框,如果只需要对某些提到的资源让其出现下载提示框,上述配置就不行了,解决的方法是在资源的response头中设置content-type即可,例如:
php 中
代码如下 | 复制代码 |
header("Content-type:application/octet-stream"); |
下载文件程序
代码如下 | 复制代码 |
<? header("content-type:text/html; charset=utf-8"); $file_name=$_GET['name']; //服务器的真实文件名 $file_realName=urldecode($_GET['real']); //数据库的文件名urlencode编码过的 $file_dir="upload/"; $file = fopen($file_dir . $file_name,"r"); // 打开文件 // 输入文件标签 header( "Pragma: public" ); header( "Expires: 0" ); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($file_dir . $file_name)); Header("Content-Disposition: attachment; filename=" . iconv("UTF-8","GB2312//TRANSLIT",$file_realName)); // 输出文件内容 echo fread($file,filesize($file_dir . $file_name)); fclose($file); exit; ?> |
java 中
代码如下 | 复制代码 |
response.setContentType("application/octet-stream"); resp.setHeader("Content-Disposition", "attachment;filename="downloaded.txt"); |
如果需要为下载设置一个保存的名字,可以用Content-Disposition属性来指定。
实例
代码如下 | 复制代码 |
<%@page language="java" contentType="application/x-msdownload" import="java.io.*,java.net.*" pageEncoding="gbk"%><% |
.首先到http://phpmailer.worxware.com/ 下载最新版本的程序包
2.下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!
3.然后新建一个php文件这里命名为:phpmail_jiucool.php
4.phpmail_jiucool.php内容如下:
实例
代码如下 | 复制代码 |
function postmail_jiucool_com($to,$subject = "",$body = ""){ |
注意:
phpmailer如果添加附件的时候,在附件名称里一定要写明附件的后缀,如果不写明附件后缀,默认的附件后缀会是.txt。
比如
代码如下 | 复制代码 |
$mail -> AddAttachment('include/id.csv','att');// |
附件的路径和附件名称
如果向上面一样添加附件发送,则最终接到的附件可能是att.txt。
AddAttachment可以设置附件编码方式和附件类型,比如上面的附件添加也可以设置为
代码如下 | 复制代码 |
$mail -> AddAttachment('include/id.csv','att.csv',"binary","text/comma-separated-values");// |
附件的路径和附件名称、
附件的编码方式大概有这么几种:支持8bit, base64, binary, and quoted-printable 编码
而CSV可接受的MIME Type
· application/octet-stream
· text/comma-separated-values(推荐)
· text/csv
所以,csv格式文件的附件类型可以是上面三种中的任意一种
实例
代码如下 | 复制代码 |
require_once('include/PHPMailer/class.phpmailer.php'); //导入PHPMAILER类 |
只要加上这希就可以实例邮箱发送带附件了
$mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称
本文章介绍在php中关闭notice错误的一些做法,但是不得不说的是在关掉错误提示时,那么程序代码中大量的notice级别错误是否会造成PHP性能下降PHP Notice: Undefined variable
PHP Notice: Undefined index
看看吧,你有没定义的变量直接使用了。不过编PHP的时候本来就不像C++那么严格,编程的时候经常还会利用这个特点。PHP的默认设置是显示这些提示,这会造成页面无法正常显示出来。
代码如下 | 复制代码 |
//error_reporting(E_ALL); |
第一个是代表显示所有错误,
第二个代表显示所有错误不显示警告,
我们只要把第二行前面加//,把第一行前面的//去掉即可。
附:各个错误报告详解
使用方法:
代码如下 | 复制代码 |
error_reporting(0);//禁用错误报告 |
实例
代码如下 | 复制代码 |
if (!$a) { |
在php.ini中禁止修改方法
1、由空间商在服务器中的php.ini的配置文件修改:
在php.ini文件中改动error_reporting
改为:
代码如下 | 复制代码 |
error_reporting = E_ALL & ~E_NOTICE |
如果你是固得美国空间用户,不能操作php.ini文件,你可以用下面的方法来实现
2.在你想禁止notice错误提示的页面中加入下面的代码
代码如下 | 复制代码 |
/* Report all errors except E_NOTICE */ |
注意一点的是
关闭掉PHP错误输出并不会关闭php内核对错误的处理,代码中如果有大量的Notice级别的错误,还是会降低php程序的性能。所以我们在开发的时候还是要将错误级别开至E_ALL,谨慎的处理掉每处不合理的代码
我想对 html 的图片进行提取.
代码如下 | 复制代码 |
<img ico src="/noavatar_small.gif" /> <img src="/noavatar_small.gif" /> |
如上地址. 我想全部提取出来 但是包含'ico' 的地址 忽略. 求正则 , 就是有些图片 提取.有些不提取.
例子:
代码如下 | 复制代码 |
<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*> |
经改进后..
正确解答如下
代码如下 | 复制代码 |
/<img(?:(?!(ico)).)+/>/ |
实例
代码如下 | 复制代码 |
//要替换的内容 //提取图片路径的src的正则表达式 $img = ""; $patterns= array(); foreach($img as $imgItem){ $final_imgUrl = $img_url.$imgItem; $img_new = "/".preg_replace("///i","/",$imgItem)."/"; } //让数组按照key来排序 //替换内容 |
相关文章
- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- 下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <?php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
- EXCEL数据上传到SQL SERVER中的方法需要注意到三点!注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.做法: 在ASP.NET环境中,添加一个FileUpload上传控件后台代码的E.X: 复制代码 代码如下: if...2013-09-23
- 我们都知道用php+mysql在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当...2015-11-08
- 由于国内好几个浏览器都是双核浏览器(蛋痛,做一个浏览器壳就说国产,而且使用率高),有时打开网页会出现不兼容模式,在极速模式下是好的,现在我们来用代码实现网页自动调用国内...2016-09-20
- 下面小编就为大家分享一篇c#实现获取字符串阵列中元素最长或最短的长度方法,具有很好的参考价值,希望对大家有所帮助...2020-06-25
- 这篇文章主要为大家详细介绍了WPF TextBox实现按字节长度限制输入功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 小编推荐的这篇文章介绍了PHP中对汉字进行unicode编码和解码的实现方法,非常实用,有兴趣的同学可以参考一下。 代码如下复制代码 //将内容进行UNICODE编码fu...2017-07-06
- 今天小编就为大家分享一篇关于Lua一维数组与多维数组的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-06-30
- 微信扫码网站自动登录的原是还是比较简单的,只要各位知道相互的原理就可以实现了,下面我们来看两个例子,我相信各位看了这两个例子肯定知道怎么来做了。 magento 微...2016-11-25
- 在php程序中有事会需要用到C代码,这篇文章着重介绍一下用C写php扩展的方法,而且不需要重新编译php。有需要的同学可以参考一下。 在php程序中需要用到C代码,应该是下...2017-07-06
- PHP初学中很多同学搞不清字符串长度的截取用法。小编分享了一篇写得很详细的关于字符串长度截取用法的文章,希望能解答大家的疑问。 本文实例讲述了PHP中字符串长...2017-01-22
- 本文介绍了php使用PDO事务配合表格读取大量数据插入操作实现方法,非常实用,有兴趣的同学快来看看吧。 在处理大量数据的时候,或者同时对几个表操作,而这几个表的操作...2017-07-06
php mysql_insert_id()返回数据库最新id实现方法
php mysql_insert_id()返回数据库最新id实现方法 有需要同学可参考一下。 代码如下 复制代码 mysql_insert_id() mysql_insert_id() 函数...2016-11-25- 定义和用法 该strlen ( )函数返回的长度字符串。 他的作用是计算字字符长度的,中文一个字为2 语法 strlen(string) ParameterDescriptionstringRequired. Specifie...2016-11-25
- 这篇文章主要介绍了C语言中求字符串长度的函数的几种实现方法,需要的朋友可以参考下...2020-04-25
- 代码如下 复制代码 function bigendian2int($byte_word, $signed = false) { $int_value = 0; $byte_wordlen = str...2016-11-25
- php多维数组的排序方式与单数组会有一些不同了同时在不同版本中也有不同的函数了,下面小编整理了一自己在使用php中整理的一些关于php多维数组的排序例子,希望这些例子...2016-11-25
- 本教程只讲了二个地方一个是利用数组函数in_array 检查数组中是否存在指定字符串,与利用count函数来判断数组长度。 定义和用法 in_array() 函数在数组中搜索给定...2016-11-25