作者p52189 (皮爷)
看板PHP
标题[请益] foreach用法
时间Fri Mar 30 09:58:28 2012
我做了一个小实验
$arr = array(1,2,3,4);
$arr = en($arr);
echo $arr[0];
function en($arr){
foreach ($arr as $element){
$element = $element+1;
}
return $arr;
}
结果是1
$arr = array(1,2,3,4);
$arr = en($arr);
echo $arr[0];
function en($arr){
for($i = 0 ;$i<(count($arr)-1) ; $i++){
$arr[$i] = $arr[$i]+1;
}
return $arr;
}
结果是2
case 2 是我想要的结果
但是有个问题是我的阵列不是以数字而是以文字索引
该如何修改而能得到上两个做法的好处呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.48.169
1F:→ MOONRAKER:case 1有改不是等於没改 你到底是要case 1还是case 2 03/30 10:51
2F:→ MOONRAKER:foreach改变阵列内容 foreach($arr as & $em) { $em=..} 03/30 10:52
3F:→ schoolpopo:case 1 那个function 没有什麽意义吧! 03/30 11:19
4F:推 kerash:你先说你对结果的需求吧... 03/30 11:30
抱歉抱歉
发文的时候很赶,没仔细确认
希望使用foreach的主因是我的Array不一定是以数字来索引
但是我又不知道该怎麽把它写进去
後来请教了同事修改了写法
$arr = array(1,2,3,4);
$arr = en($arr);
echo $arr[0];
function en($arr){
foreach ($arr as $key=>$element){
$arr[$key] = $element+1;
}
return $arr;
}
这样就会正确运作了
之前我只知道case 1 的写法只能读
写的话会写不到我想要的位置(但不知道怎麽写才能写到)
让大家无言了不好意思
如果有比较好的处理方法也请多指教
谢谢
※ 编辑: p52189 来自: 114.42.240.15 (03/30 21:46)
5F:→ MOONRAKER:阿上面不就告诉你用 ($arr => & $em) 了 03/30 22:22
6F:→ p52189:这样写确实比较好 谢谢 03/30 22:29
7F:→ MOONRAKER:看了jquery的$.each()之後,觉得也可以用array_map()做 03/31 18:51