先来看一个例子:

$arr = array(0,1,2,3,4);让数组的每个值都变成原来的两倍,应该怎么来实现?

如果没有学习foreach之前,会想到用for循环

<?php 

$arr = array(0,1,2,3,4);
for($i=0;$i<5;$i++){
$arr[$i]=$arr[$i]*2;
}
print_r($arr); /*
返回:
Array
(
[0] => 0
[1] => 2
[2] => 4
[3] => 6
[4] => 8
) */ ?>

  这种解决办法是键就是数字,并且是连续的情况下,才能这样用

如果键是字符串,又应该如何做呢?

例如:$arr = array('第一'=>0,'第二'=>1,'第三'=>2,'第四'=>3,'第五'=>4); 让他们的值变成原来的两倍

直接上代码

<?php 

$arr = array('第一'=>0,'第二'=>1,'第三'=>2,'第四'=>3,'第五'=>4);
//这是键和值都出现的写法
foreach ($arr as $key => $value) {
$arr[$key]=$value*2;
}
print_r($arr); /*
返回: Array
(
[第一] => 0
[第二] => 2
[第三] => 4
[第四] => 6
[第五] => 8
) */ /*
如果求和的话,只要值就好了,不用键,那么可以这么写
*/

$sum=0;

//这是只出现值得写法
foreach ($arr as $value) {
$sum+=$value;
}
echo $sum;

//返回20

/*
可不可以只显示键,不要出现值,
这是不可以的
*/

 ?>

  

foreach(PHP学习)的更多相关文章

  1. jmeter ForEach Controller学习

    ForEach Controller: foreach一般和用户定义变量一起使用,在用户定义变量中定义3个变量 foreach中输出变量名称(vname),这种方式可以生成一个vname的变量,点击运 ...

  2. C#中foreach遍历学习笔记

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  3. foreach的学习使用归纳

    1: 实现对双向链表的遍历使用 LinkedList<string> llary = new LinkedList<string>(); llary.AddLast (&quo ...

  4. ForEach Controller学习

    1.ForEach Controller(循环控制器) 作用:ForEach Controlle一般和用户自定义变量(User Defined Variables)一起使用,其在用户自定义变量中读取一 ...

  5. es5 and es6

    es5学习地址:http://www.zhangxinxu.com/wordpress/2013/04/es5%E6%96%B0%E5%A2%9E%E6%95%B0%E7%BB%84%E6%96%B9 ...

  6. c++模板笔记

    使用vc2015进行C++ 模板的学习实验和笔记 用简单示例学习了解STL template大部头理论书 讲解各种规则和各种规则例外的解决办法 集中精力在20%的规则中的阴暗角落而不是80%实践中要注 ...

  7. “全栈2019”Java第三十一章:二维数组和多维数组详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. foreach与Iterable学习

    以前对于foreach的使用都是自然而然的感觉,没有深究过为什么可以用,什么时候可以用.最近才发现,原来那些可以使用的类,都是实现了Iterable接口的,否则根本就不能用. 下面是我之前学习时候写的 ...

  9. pig语法学习 FOREACH GENERATE group AS

    深入浅出,转一个 转载必须注明出处:http://www.codelast.com/ 转载地址 本文可以让刚接触pig的人对一些基础概念有个初步的了解. 本文大概是互联网上第一篇公开发表的且涵盖大量实 ...

随机推荐

  1. json与api- 天气api 博客词频分析

    一.json基础 1.1 json的介绍 json现在成为各种程序与语言之间交互的一种数据格式,本质是文本,字符串. json有两种格式: 1.  类似字典  {k:v,k,v} 2.  类似列表 { ...

  2. nfs的简单搭建与原理

    nfs最大的缺点是单点,只能一对一nfs统称存储服务器,放视频图片之类的东西,所以服务器的容量很大数字都是放在数据库里边的, nfs的挂载原理 客户端怎么知道服务端的开启端口? 找rpcbind,再启 ...

  3. String类运算符重载,自己实现

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  4. log4cpp安装

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. flume 启动,停止,重启脚本

    #!/bin/bash #echo "begin start flume..." #flume的安装根目录(根据自己情况,修改为自己的安装目录) path=/sysware/apa ...

  6. python3 快速排序

    思路 第一步:找到一个随机的数,一般都是第一个数,也就是left,递归中也用left,放到缓存中,专业叫 基准值,基准值是要放在中间的. 第二步:最左边空出一个位置就是索引left的位置,所以从右向左 ...

  7. ElasticSearch自定义分词器

    通过mapping中的映射,将&映射成and PUT /my_index?pretty' -H 'Content-Type: application/json' -d' { "set ...

  8. Flask框架中特有的变量/函数及上下文

    模板中特有的变量和函数 你可以在自己的模板中访问一些 Flask 默认内置的函数和对象 config 你可以从模板中直接访问Flask当前的config对象: {{config.SQLALCHEMY_ ...

  9. EFM32 ARM+ KEIl program

    1Hardware connection When using the EFM32 starter kit to make a JLINK burn, you must connect the con ...

  10. jsp笔记总结

    第一章 JavaWeb简介 1.什么是Web应用程序 什么是Web应用程序是一种通过Web访问的应用程序.Web应用程序一个最大优点就是用户很容易访问.用户只需要有浏览器即可,不需要再安装其他软件.W ...