我有一个if语句
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
cCESnapshot = dataSnapshot.child(uid).child("currChallenges").child(challengeList.get(position));
Intent intent = new Intent();
intent.setClass(this, ChallengeView.class);
intent.putExtra("snapshot", cCESnapshot.toString());
intent.putExtra("name", challengeList.get(position));
startActivity(intent);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
但是由于条件的数量,if语句似乎失败了(例如,它总是执行某些操作,而不仅仅是针对指定的ID)。我可以删除其中的一些,并且可以正常工作。我该如何解决?
答案 0 :(得分:3)
试试看,in_array非常适合这种情况:
import glob
import re
from html.parser import HTMLParser
wordDic = {}
counter = 1
class MyParse(HTMLParser):
def handle_data(self, data):
global wordDic
global counter
if self.currentTag == 'script' or self.currentTag == 'style':
return
if len(val) == 0 or val == '$$$': # $$$ is a custom name that I want to keep
return
wordDic[val] = counter
counter = counter + 1
# Now is there a way for me to modify the html file after this in this method?
此外,您的代码中缺少'='。
答案 1 :(得分:0)
您有错字:
... || $id = '4571' ) ...
正在将'4571'
的值分配给$id
。您必须使用比较运算符:
... || $id == '4571' ) ...
这就是为什么我喜欢使用in_array
:
$availableIds = ['2781', '1947', '516', '3200', '237', '3207', '3205', '2647', '516', '4571'];
if(in_array($id, $availableIds)) {
...
}