如果项目ID存在,我试图隐藏/删除循环中的项目。我已根据ID删除了产品的商品ID,但我如何去除实际商品本身。
应该是:
foreach($resp->searchResult->item as $item) {
if ($item->itemId == 12345){
continue;
}
}
答案 0 :(得分:1)
如果我理解,你只是不想要一些物品被输出
在循环中,您应该使用 continue 语句,该语句用于跳过当前循环的其余部分
考虑到你有一个带有要从循环中排除的ID的数组,你可以这样做:
Sub ExtractLink()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Navigate "http://finder.fi/yrityshaku/nokia+oyj"
Do
DoEvents
Loop While .Busy Or .Readystate <> 4
.Visible = True
Dim oDoc As Object
Set oDoc = .document
With oDoc
Dim cLinks As Object, iLink As Object, sText As String
sText = "Tietoliikennepalveluja%2C+tietoliikennelaitteita/Nokia+Oyj/TAMPERE"
Set cLinks = .links
For Each iLink In cLinks
If InStr(1, iLink.Href, sText) Then
Debug.Print Replace(iLink.Href, "http://finder.fi", "")
End If
Next
End With
End With
End Sub
这样您就不会遍历不需要的物品
如果您不想使用数组并且只有一个ID可以解雇,您可以这样做:
<?php
$idsToExclude = [1234,1333,1444];
foreach($resp->searchResult->item as $item) {
if (in_array($item->itemId, $idsToExclude) {
continue;
}
// Here you can use $item
....
}
或者在您的API调用中,您还可以添加一个参数,表明您不想排除某些结果或仅包含一些特定项目。