leo列

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

foreach(PHP学习)

先来看一个例子:

$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

  

posted on   leo列  阅读(674)  评论(0编辑  收藏  举报

编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!
点击右上角即可分享
微信分享提示