【发布时间】:2021-12-28 12:59:14
【问题描述】:
$questionsByLanguageIds = [
2 =>[
0 => 2439,
1 => 2435,
2 => 2450,
],
5 => [
0 => 2440
1 => 2435
2 => 2451,
]
]
我有一个数组,其中包含按语言 id 分组的问题 id(本例中为 2,5)。我需要为每种语言的问题找到不同但仅在同一索引内的问题 ID。
例子:
-
$questionsByLanguageIds[2][0] == $questionsByLanguageIds[5][0]
2439 与 2440 不同。如果我发现这种差异,我需要从数据库中删除 id 为 2440 的问题。参考问题 id 将是第一语言的 id,在本例中为 2439。 -
$questionsByLanguageIds[2][1] == $questionsByLanguageIds[5][1] 2435 等于 2435。忽略循环并继续。
我怎样才能在动态上实现这一点?
到目前为止,这是我的代码:
$fieldLanguages = [2,5];
for($i=0; $i < count($fieldLanguages); $i++){
if($i > 0){
if( !(array_diff($questionsByLanguageIds[$fieldLanguages[$i]], $questionsByLanguageIds[$fieldLanguages[$i-1]])==[] && array_diff($questionsByLanguageIds[$fieldLanguages[$i]],$questionsByLanguageIdse[$fieldLanguages[$i-1]])==[]) ){
//has difference
}
}
}
【问题讨论】:
标签: php arrays multidimensional-array