我需要迭代一个数组,然后编辑每个值,但不一样。
<?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服务]
然后对数组中的每个值执行相同的操作,使它像:
我需要什么
再次我需要的是不同的字符串
等
感谢您的帮助。
答案 0 :(得分:2)
Break;
循环中的foreach
就是打破循环。
删除Break;
,它应该有效。
请在此处阅读:
http://www.php.net/break
break结束当前for,foreach,while,do-while或switch结构的执行。