1

我希望这个问题的措辞适合本网站的政策。

我正在尝试将一段 Python 代码转换为 PHP 代码。我已经翻译了几乎每个函数,除了我无法弄清楚 PHP 和 Python 中的数组和 Foreach 循环有何不同。

qstid = dbinputsurveyid+'X'+str(question.gid)+'X'+str(question.qid)
index=columns.index(qstid)
for i,a in enumerate(data[index]):
    if a!=None and a!='':
        answer=int(data[index][i])
        answerCodes=list(answersCode[question.qid])
        answerindex = answerCodes.index(str(answer))
        answerorder = answersOrder[question.qid][a]
        addAnswers(db, data[0][i], question.sid, question.gid, question.qid, question.type, answers[question.qid][answerindex], None,answerorder, None, None,None)

从我所做的一些阅读中。我认为 python 中的 enumerate 相当于 PHP 中的 foreach 循环。但我不确定“i”和“a”是如何在上面的代码中发挥作用的。它们似乎不像您在 PHP 中那样定义。任何帮助或见解表示赞赏。

4

1 回答 1

2

该循环中的符号i, a使您可以访问列表的索引和值。

来自Python 文档

循环遍历序列时,可以使用 enumerate() 函数同时检索位置索引和对应值。

因此,在 Python 中,您将拥有:

for i,a in enumerate( ['some', 'list'])

这相当于PHP:

$array = ['some', 'array']; 
// Or, for PHP < 5.4: $array = array( 'some', 'array');
foreach( $array as $i => $a)
于 2012-11-01T17:17:51.990 回答