为了账号安全,请及时绑定邮箱和手机立即绑定

自己瞎玩的,大神帮我看看哪里可以更简单

<?php

$fruit=array('1','2','3','4','5','6','7','8','9','10');

foreach($fruit as $a=>$b)

{echo '<br>输出的编号是'.$a.',值为'.$b;}

echo '</br>';

for($fruit['0'],$a=0;$fruit['0']<=10;$fruit['0']++)

{$a=$fruit['0']+$a;}

echo '该数组的总值为'.$a;

echo '</br>';

if($fruit['0']==10)

{ echo 'ture';}

else {echo 'forre';};

switch($fruit['5']){

    case 1:

$fruit['5']= $fruit['5']  + 10;

break;

case 2:

   $fruit['5']=$fruit['5']  + 10;

default:

$fruit['5'] = $fruit['5'] + 10;

        echo '输出结果为'.$fruit['5'];

}

?>


正在回答

2 回答

  1. 数组的命名最好是有针对性的

  2. 在for循环中你使用了$fruit['0']作为条件变量,因巧合而结果相同,但原理错误,如果数组的值有所改变,运行后总值还是55

  3. switch函数中的case后的值对应的是()中的条件值,$fruit['5']对应6,所以应当执行case 6 的命令,由于你并没有写case 6,所以默认执行了default,才有了最后的输出

0 回复 有任何疑惑可以回复我~
#1

慕后端0317294 提问者

第二点:$fruit['0']真正要变的应该是那个0吗?只是恰好$fruit['0']的值为1,而且后面的值和我的数组都没有关系,是这样吗 第三点:在switch函数中不是没有可执行的命令就会去执行default吗?还有点不明白..........
2017-07-28 回复 有任何疑惑可以回复我~
#2

凌虚渊 回复 慕后端0317294 提问者

2.你的代码只是巧合,恰好后一个值是前一个值+1,你需要改变的是数组的下标而不是值 3.switch做为选择语句,一般条件选用变量,我的意思是并没有硬性规定case后面必须跟1或2还可以跟字符,布尔值
2017-07-29 回复 有任何疑惑可以回复我~

这个$fruit 只是个索引数组对象,在访问数组内元素是直接使用索引就好了,$fruit[0],可以不需要单引号,而且遍历可以使用 for ,虽然都能完成遍历。我只是初学,共同探讨

0 回复 有任何疑惑可以回复我~
#1

就是一浆糊

如果是在试验几个遍历数组的方法,我觉得多声明几个数组更好一点。没细看代码,粗评,有误还请各位高手指出
2017-07-28 回复 有任何疑惑可以回复我~
#2

慕后端0317294 提问者 回复 就是一浆糊

我是在复习之前学习的函数,因为没什么基础又没题目可以练习,所以自己给自己出的点题目练习一下................
2017-07-28 回复 有任何疑惑可以回复我~
#3

凌虚渊

对于索引数组可以使用for循环,但是对于关联数组,最好是foreach
2017-07-29 回复 有任何疑惑可以回复我~
#4

就是一浆糊 回复 凌虚渊

我也知道,但是题主这边用的例子不是太合适,foreach循环仍然用的是索引数组。
2017-07-31 回复 有任何疑惑可以回复我~
#5

就是一浆糊 回复 慕后端0317294 提问者

共同学习,相互交流,一起进步
2017-07-31 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

自己瞎玩的,大神帮我看看哪里可以更简单

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信