遍历数组,并在每个值上运行函数

时间:2013-12-11 03:48:04

标签: php

我需要迭代一个数组,然后编辑每个值,但不一样。

<?php
Function parseStatus($Input, $Start, $End){
    $String = " " . $Input;
    $Init = StrPos($String, $Start);

    If($Init == 0){
        Return '';
    }

    $Init += StrLen($Start);
    $Length = StrPos($String, $End, $Init) - $Init;

    Return SubStr($String, $Init, $Length);
}

Function getAllStatuses($Username){
    $DOM = new DOMDocument();
    $DOM->validateOnParse = True;
    @$DOM->loadHtml(File_Get_Contents('http://lifestream.aol.com/stream/' . $Username));
    $xPath = new DOMXPath($DOM);

    $Stream = $DOM->getElementById('stream')->nodeValue; // return stream content for display name
    $Nodes = $xPath->query('//div[@class="stream"]');

    $Name = Explode(' ', Trim($Stream));
    $User = $Name[0];

    $Statuses = Array();

    ForEach($Nodes as $Node){
        ForEach($Node->getElementsByTagName('li') as $Key => $Tags){
            $Statuses[] = $Tags->nodeValue;
        }
    }

    ForEach($Statuses as $Status){
        If(StrPos($Status, 'Services')){
            Echo 'services is definitely in there';
            $New = AIM::parseStatus($Status, $User, 'Services');
            Echo $New;
            Break;
        }
    }
?>

问题是,$ New只回显第一个输出,但是如何让它运行数组中的每个值,并做同样的事情?

预期产量: [名称作为开始]我需要什么[word服务]

然后对数组中的每个值执行相同的操作,使它像:

我需要什么

再次我需要的是不同的字符串

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Break;循环中的foreach就是打破循环。

删除Break;,它应该有效。

请在此处阅读:
http://www.php.net/break

  

break结束当前for,foreach,while,do-while或switch结构的执行。