喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [问题] 数组foreach不听话,该怎么办,求解?  
 
covi
注册会员
Rank: 2



UID 96850
精华 0
积分 76
帖子 38
金钱 76 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-8-12
状态 离线
[广告]: q m
数组foreach不听话,该怎么办,求解?

先看我写的代码:

<?php
# 将排序后的数组选取前2个后截断
function ky29($coun29){

    foreach(
$coun29 as $tids => $countwordye){
        
$countnum 0;
        foreach(
$countwordye as $num => $oddsword){
            if(
strlen($oddsword) > 2){
                
$coun29s[] = $oddsword;
                if(++
$countnum == 2){
                    break;
                }
            }
        }
        
$coun29es[$tids] = $coun29s;
    }
    return 
$coun29es;

}
?>
这是一个操作多维数组的代码,让数组的数组在输出时仅输出2个就行了,如果我写的代码正确,应该结果输出是这样的:

<?php
Array (
[
627] => Array ([0] => van [1] => het )
[
628] => Array ( [0] => asdfsa [1] => rejj )
[
629] => Array ( [0] => erdd [1] => 4dfs )
[
630] => Array ( [0] => iuyrrr [1] => u513 )
[
631] => Array ( [0] => qwesfs [1] => 656ddd )
1
?>
可是我的代码有错,实际它的输出是这样的:

<?php
Array (
[
627] => Array ([0] => van [1] => het )
[
628] => Array ( [0] => van [1] => het [2] => van [3] => het )
[
629] => Array ( [0] => van [1] => het [2] => van [3] => het [4] => eren [5] => een )
[
630] => Array ( [0] => van [1] => het [2] => van [3] => het [4] => eren [5] => een [6] => het [7] => van )
[
631] => Array ( [0] => van [1] => het [2] => van [3] => het [4] => eren [5] => een [6] => het [7] => van [8] => van [9] => ver )
1
?>
无法每两个就截断停止循环,数量呈2、4、6、8、10式递增,
而且外循环只运行一次,628、629、630、631都是从627取的数据?

错误应该可能只在


<?php
$countnum 
0;
?>
或者

<?php
if(++$countnum == 2){
    break;
}
?>
这两处。
高手看看出错的原因,该怎么编写正确的代码?
2007-9-11 09:47 PM#1
查看资料  发短消息  顶部
 
covi
注册会员
Rank: 2



UID 96850
精华 0
积分 76
帖子 38
金钱 76 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-8-12
状态 离线
[推荐阅读] SESSION的这个问题大家是怎么解决的???
顶上去,吸引注意力
2007-9-12 04:59 PM#2
查看资料  发短消息  顶部
 
phphp
版主
Rank: 7Rank: 7Rank: 7
加班一族


UID 65188
精华 1
积分 184
帖子 3007
金钱 173 喜悦币
威望 10
人脉 1
阅读权限 100
注册 2005-7-20
来自 北京市海淀区
状态 离线
[推荐阅读] 收听验证码,怎么实现?
29是??
$coun29s = array();




书到用时方恨少, 事非经过不知难
2007-9-12 05:27 PM#3
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
covi
注册会员
Rank: 2



UID 96850
精华 0
积分 76
帖子 38
金钱 76 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-8-12
状态 离线
[推荐阅读] [求教]怎样用Zend Guard只加密项目中的部分源码??
29是名称啊!
这个处理一个多维数组。

[ 本帖最后由 covi 于 2007-9-12 05:57 PM 编辑 ]
2007-9-12 05:53 PM#4
查看资料  发短消息  顶部
 
jonyare
中级会员
Rank: 3Rank: 3


UID 92705
精华 0
积分 407
帖子 366
金钱 407 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-5-8
来自 清华王牌计算机系
状态 离线
[推荐阅读] PHP4 AND XML QUESTION
不知道这个符合你的要求不

<?
/*
 * 
 */
$ar=array(array("d",4,56),array("d",1,56,"dddddd"),array("d",1,56,"dddddd",6),array("d",1,56,"dddddd",666,34,66));
echo 
"<pre>";
print_r($ar);
echo 
"</pre>";
function 
getarray2($ar)
{
if(!
is_array($ar))
 return 
false
foreach(
$ar as $key=>$value)
{   
 if(!
is_array($value)||count($value)<2)
  return  
false;
$temp=0;
foreach (
$value as $key1=>$value1)
 {
     if(
$temp>1)
     {
         break;
         
     }
     else 
     {
         
$temparray[$key1]=$value1;
         
         
     }
 
$temp++;
     
     
 }     
 
$result[$key]=$temparray;
 unset(
$temparray);
    

}
return  
$result;    
}
echo 
"<pre>";
print_r(getarray2($ar));
echo 
"</pre>";
?>




务以善小而为之,务以恶小而不为村
2007-9-12 08:07 PM#5
查看资料  Blog  发短消息  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11758
帖子 4930
金钱 11755 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 关于招聘
真的没看懂



最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2007-9-13 09:31 AM#6
查看资料  Blog  发短消息  顶部
 
唠叨 (唠叨)
版主
Rank: 7Rank: 7Rank: 7
版主



UID 9955
精华 0
积分 1479
帖子 1546
金钱 1479 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2001-10-27
状态 离线
[推荐阅读] 知名网络公司 急聘PHP工程师
1、

<?php
function ky29($coun29){

    foreach(
$coun29 as $tids => $countwordye){
        
$countnum 0;
        
$coun29s = array(); //注意这里!!!
        
foreach($countwordye as $num => $oddsword){
            if(
strlen($oddsword) > 2){
                
$coun29s[] = $oddsword;
                if(++
$countnum == 2){
                    break;
                }
            }
        }
        
$coun29es[$tids] = $coun29s;
    }
    return 
$coun29es;

}
?>
2、

<?php
function ky29($coun29){

    foreach(
$coun29 as $tids => $countwordye){
        
$countnum 0;
        
$coun29s = array(); //注意这里!!!
        
foreach($countwordye as $num => $oddsword){
            
$coun29es[$tids] = array_slice($countwordye,0,2);
       }
       return 
$coun29es;
  }
?>
2007-9-14 05:17 PM#7
查看资料  Blog  发短消息  顶部
 
covi
注册会员
Rank: 2



UID 96850
精华 0
积分 76
帖子 38
金钱 76 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-8-12
状态 离线
[推荐阅读] 上海外商独资科技公司全国招聘phper
谢谢大家帮忙!
2007-9-15 05:03 PM#8
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.036323 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP