PHP数组循环操作详细介绍附实例代码_php技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP数组循环操作详细介绍附实例代码_php技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2704字,纯文字阅读大概需要4分钟。
内容图文
![PHP数组循环操作详细介绍附实例代码_php技巧](/upload/InfoBanner/zyjiaocheng/261/f64a1b2190454b92b27ae2b8eaffaf27.jpg)
PHP数组还是比较常用的,于是我研究了一下PHP数组循环操作,在这里拿出来和大家分享一下,希望对大家有用。PHP基本上就是一种数组语言。时常要进行大量的PHP数组循环操作,主要有两种方式,一种是foreach,另一种是while,到底哪种好哪种坏一直有争论,虽然我很早就意识到了这个问题,但是一直没有细究,懵懂的感觉一直持续到现在,为了以后能节省点CPU时间,下面总结一下:
在循环里进行的是数组“读”操作,则foreach比while快,PHP数组循环操作无格式查看复制到剪贴板打印代码?
代码如下:
foreach($arrayas$value){
echo$value;
}
while(list($key)=each($array)){
echo$array[$key];
}
foreach($arrayas$value){
echo$value;
}
while(list($key)=each($array)){
echo$array[$key];
}
在循环里进行的是数组“写”操作,则while比foreach快:
无格式查看复制到剪贴板打印代码?
代码如下:
foreach($arrayas$key=>$value){
echo$array[$key]=$value.'...';
}
while(list($key)=each($array)){
$array[$key]=$array[$key].'...';
}
foreach($arrayas$key=>$value){
echo$array[$key]=$value.'...';
}
while(list($key)=each($array)){
$array[$key]=$array[$key].'...';
}
总结:通常认为,foreach涉及到值复制,一定会比while慢,但实际上,如果仅仅是在循环里进行数组的读操作,那么foreach是很快的,这是因为PHP采用的复制机制是“引用复制,写时拷贝”,这样看来,foreach的高效读操作就不难理解了。另外,既然foreach不适合处理数组写操作,那么我们可以得出一个结论,多数情况下,类似foreach($arrayas$key=>$value)形式的代码都应该被替换成while(list($key)=each($array))。
这些技巧产生的速度差异在小项目里可能并不明显,但是在类似框架这样的大项目中,一次请求动辄便会涉及到几百几千几万次数组循环操作,差异就会明显放大。
有关php数组及循环的小例子,包括二维数组、杨辉三角、获取参数、矩形对角线求和,有需要的朋友建议看看
代码如下:
//1、使用循环语句,
输出任意一个二维数组 。
$arr=array(
array(1,2,3,4),
array(5,6,7,8),
array(9,10,11,12),
array(13,14,15,16)
);
foreach ($arr as $var){
foreach ($var as $val1){
echo "$val1 ";
}
echo "
";
}
echo "
";
//2、使用循环控制语句,
输出杨辉三角。
function yanghuisanjiao($line){
$sc[][]=array();
$sc[0][0]=1;
for($i=1;$i<=$line;$i++){
for($j=0;$j<=$i;$j++){
if($j==0 or $i==$j){
$sc[$i][$j]=1; //把每行的第一个数字和最后一个数字设为1
}else{
$sc[$i][$j]=$sc[$i-1][$j-1]+$sc[$i-1][$j];
}
}
}
foreach ($sc as $value){
foreach($value as $v1){
echo $v1.' ';
}
echo '
';
}
}
yanghuisanjiao(5);
echo "
";
//3、使用循环和预定义变量,获取多个参数。参数的个数未定。
function avg(){
$ags=func_get_args();
$sum=0;
foreach ($ags as $v){
$sum+=$v;
}
return '平均值是:'.$sum/func_num_args();
}
echo avg(1,2,3,4,5,6,7);
//4、使用循环输出一个二维数组,并求该矩形对角线元素的和。
function getSum($theCount){
$b=0;
echo '
';
echo "
";
for($i=1;$i<=$theCount;$i++){
echo "";
for($j=1;$j<=$theCount;$j++){
if($j==$i || $theCount+1-$i==$j){
echo "$j | ";
$b=$b+$j;
if($j==$i && $theCount+1-$i==$j){
$b=$b+$j;
}
}
else{
echo "$j | ";
}
}
echo "
";
}
echo "";
echo "对角线元素之和为:".$b;
}
getSum(6);
?>
内容总结
以上是互联网集市为您收集整理的PHP数组循环操作详细介绍附实例代码_php技巧全部内容,希望文章能够帮你解决PHP数组循环操作详细介绍附实例代码_php技巧所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】
更多 ►
【PHP数组循环操作详细介绍附实例代码_php技巧】教程文章相关的互联网学习教程文章
看这篇文章之前相信大家都已经看过PHP中文手册关于数组这一节的讲解了,怎么样呢,看懂了多少?至少我第一次阅读文档时是一头雾水,也许是因为在翻译的不够通俗易懂吧^_^!!这里UncleToo根据自己的经验,将数组的各种创建方式用PHP实例代码的方式分享给大家,希望对大家有些帮助(当然,PHP文档还是要多看的) 1、使用array()创建数组 array()创建数组是我们在PHP开发过程中最常用到的一种方式,准确来说array()是一种结构而不是一...
PHP代码如下:复制代码 代码如下:if (isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) { $upload_file = $_FILES[‘Filedata‘]; $file_info = pathinfo($upload_file[‘name‘]); $file_type = $file_info[‘extension‘]; $save = ‘image/‘ . md5(uniqid($_FILES["Filedata"][‘name‘])) . ‘.‘ . $file_info[‘extension...
总共需两个页面,register.php 和 verify.php1. 用户注册表格 register.php复制代码 代码如下: <html>
<body> <form action="register.php" method="post" name="register"> 用户名:<input type="text" name="username" /> 密码:<input type="password" name="password" /> 电子邮件:<input type="text" name="email" /> <input type="submit" value="注册" /> </form> </body> </html> 2. 创...
<?php
header("Content-type:text/html;charset=utf-8");/**
* 文章编辑类
*/class Article
{protected $content;protected $art = null;public function __construct($content){$this->content = $content;}public function decorator(){return $this->content;}
}/**
* 小编加个摘要
*/class BianArticle extends Article
{public function __construct(Article $art){$this->art = $art;$this->decorator();}public function d...
html<html>
<head><meta charset="UTF-8"><title>简单计算器</title>
</head>
<body><h1>简单计算器</h1><form action="10.php" method="post"><input type="text" name="v1" id=""><select name="op" id=""><option value="add">+</option><option value="reduce">-</option><option value="multi">*</option><option value="div">/</option></select><input type="text" name="v2" id=""><button type="submit">结果</button></f...
PHP实现负载均衡的方法有很多种,在这里,我将给大家介绍一下php的负载均衡,话不多说,我们就来直接看看关于php负载均衡的实现。1. PHP文件第一个问题是,如果你有大量的小型服务器,你怎么把你的php文件上传到所有的服务器上?有如下的方法供你参考:1.分别上传所有的文件到每一个服务器 ,这种方法带来的问题是:想像一下你有20个服务器,那么上传过程中这将很容易导致错误,并且更新时极有可能导致不同服务器上有不同版本的文件...
如下所示:
header("Content-type: text/html; charset=utf-8");
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die(Could not connect: . mysql_error());
}mysql_select_db("ecshop", $con);$result = mysql_query("SELECT * FROM ecs_region where region_type=1");
$data=array();
while($row = mysql_fetch_array($result))
{
$data1=array();
$data1["itemName"]=$row["region_name"];
$data1["itemCode...
php教程文件缓存实例代码缓存在实际使用当中应用很广泛,可以减轻对服务器数据库教程的访问,提高运行速度。目前很多cms内容管理系统中频繁使用缓存机制来提高系统运行的效率cache.php 代码如下:php代码/* 用户需要事先定义的常量: _cachepath_ 模板缓存路径 _cacheenable_ 自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制 _recachetime_ 自动重新缓存间隔时间,单位为秒,未定义或为空,表示关...
本文主要和大家介绍了php处理静态页面:页面设置缓存时间实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。问:如何触发系统生成纯静态化页面?1.页面添加缓存时间 2.手动触发的方式 3.crontab定时扫描程序我们来实现方案一:页面添加缓存时间用户请求页面 => 页面是否过期 => => 否(获取静态页面) || =>是(动态页面生成一份新的静态页面)if( 如果存在这个静态文件 && 没有过...
项目中需要对定义错误日志及时处理, 那么就需要修改自定义错误日志的输出方式(写日志、发邮件、发短信) 一. register_shutdown_function(array(phperror,shutdown_function)); //定义PHP程序执行完成后执行的函数 函数可实现当程序执行完成后执行的函数,其功能为可实现程序执行完成的后续操作。程序在运行的时候可能存在执行超时,或强制关闭等情况,但这种情况下默认的提示是非常不友好的,如果使用register_shutdown...
连接到 ODBC
odbc_connect() 函数用于连接到 ODBC 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数。连接到 odbc
odbc_connect() 函数用于连接到 odbc 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数。odbc_exec() 函数用于执行 sql 语句
$db_user="dbuser"; //定义连接用户名
$db_pass="dbpass"; //连接用户对应的密码
$dsn="dsn"; //定义dsn资料来...
在php中我们也有可以直接来操作ftp,然后利用php实现与ftp一样的文件上传与下载文件的功能哦,下面我来介绍一个完整的实例。一、LycFtpAbstract.class.php FTP基类 代码如下 /* author:凹凸曼(lyc) /* email: jar-c@163.com /* time : 2011-04-22 */ abstract class Lyc_Ftp_Abstract { protected $ftpobj=null; protected $host=''; protected $user='anonymous'; protec...
本文分享了php结合ajax实现无刷新上传图片的实例代码,分享给大家,希望大家可以和小编一起学习学习,共同进步。
1.引入文件<!--图片上传begin-->
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/uploadImg.js"></script>
<link href="/css/uploadImg.css" rel="stylesheet" type="text/css" />
<!--图片上传end-->
2.html部分<div class="upimg"><input name="icon...
1.把html元素全部去掉,或者保留某几个html标签 代码如下:<?php$text = <p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>;echo strip_tags($text);echo "/n";
// Allow <p> and <a>echo strip_tags($text, <p><a>);?>结果为(去掉了注释):
<blockquote>Test paragraph. Other text<p>Test paragraph.</p> <a href="#fragment">Other text</a></blockquote>2.相反,只去掉某一个html标签 代码如下:<?php...
在使用ajaxForm方法之前,首先需要安装form.js的插件,网上有;
一、首先说用法,ajaxForm可以接收0或1个参数,该参数可以是一个变量、一个对象或回调函数,这个对象主要有以下参数:
var object= {url:url, //form提交数据的地址type:type, //form提交的方式(method:post/get)target:target, //服务器返回的响应数据显示的元素(Id)号beforeSerialize:function(){} //序列化提交数据之前的回调函数beforeSubmit...