一定很简单 - 但我无法弄明白。我在array
循环中创建了foreach
- 就像这样:
foreach ($fixturesarray as $value) {
if ($i++ % 9 == 3) {
$hometeamarray[] = $value;
}
}
它工作正常......然后我想在另一个$hometeamarray
循环中使用数组(foreach
) - 就像这样:
foreach ($xmlteams->children() as $output) {
if (in_array($output->OPPONENT, $hometeamarray)) {
$result[] = (string) $output->ALIGNED;
}
}
我需要检查名为OPPONENT的XML文件节点中$hometeamarray
中的每个值,然后将其替换为名为ALIGNED的XML文件的节点。这一切都很顺利,除了我无法在第二个foreach循环中访问$hometeamarray
???
答案 0 :(得分:0)
如果我是你,我会在周期之前初始化array
,例如:
$hometeamarray = array();
foreach ($fixturesarray as $value) {
if ($i++ % 9 == 3) {
$hometeamarray[] = $value;
}
}
避免$fixturesarray
为空时出现问题。
现在,您无法访问$hometeamarray
的原因可能各不相同。您需要确保第二个循环在第一个循环后执行。此外,您需要确保$hometeamarray
不在第二个周期的范围之外。 var_dump
- 你应该看看这是否是你的问题。最后确保children
中有$xmlteams
,并且他们有OPPONENT
成员,是否可以在$hometeamarray
找到。
答案 1 :(得分:0)
我是这样做的:
foreach (array_chunk($fixturesarray,9) as $key => $value) {
$hometeam = $value[4];
foreach ($xmlteams->children() as $output) { if ($output->OPPONENT == $hometeam) { $hometeamaligned = $output->ALIGNED; }}
}
它就像一个魅力,更容易维护 - 感谢array_chunk。