Anonymous
Отфильтровать строки 2D-массива, если строка не найдена в другом 2D-массиве
Сообщение
Anonymous » 17 дек 2024, 03:11
Я написал этот код:
Код: Выделить всё
$aArray = [
[0, 0, 0],
[1, 0, 0],
[2, 0, 0],
[3, 0, 0],
[4, 0, 0],
[5, 0, 0],
[6, 0, 0],
[7, 0, 0],
];
$jump = [
[0, 0, 0],
[1, 0, 0],
[9, 7, 4],
[3, 0, 0],
[4, 0, 0],
[5, 0, 0],
[6, 0, 0],
[7, 0, 0],
];
var_dump(array_intersect($aArray, $jump));
Результат, который я получаю, следующий:
Код: Выделить всё
array(8) {
[0]=> array(3) {
[0]=> int(0)
[1]=> int(0)
[2]=> int(0) }
[1]=> array(3) {
[0]=> int(1)
[1]=> int(0)
[2]=> int(0) }
[2]=> array(3) {
[0]=> int(2)
[1]=> int(0)
[2]=> int(0) }
[3]=> array(3) {
[0]=> int(3)
[1]=> int(0)
[2]=> int(0) }
[4]=> array(3) {
[0]=> int(4)
[1]=> int(0)
[2]=> int(0) }
[5]=> array(3) {
[0]=> int(5)
[1]=> int(0)
[2]=> int(0) }
[6]=> array(3) {
[0]=> int(6)
[1]=> int(0)
[2]=> int(0) }
[7]=> array(3) {
[0]=> int(7)
[1]=> int(0)
[2]=> int(0) }
}
Почему второй индекс не отфильтровывается? Я попытался очистить свой кеш на случай, если там хранятся старые значения. Я также заметил, что если я удалю последний массив из массива перехода, он все равно выдаст 7,0,0. Это странная аномалия?
Подробнее здесь:
https://stackoverflow.com/questions/301 ... r-2d-array
1734394290
Anonymous
Я написал этот код: [code]$aArray = [ [0, 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 0], [4, 0, 0], [5, 0, 0], [6, 0, 0], [7, 0, 0], ]; $jump = [ [0, 0, 0], [1, 0, 0], [9, 7, 4], [3, 0, 0], [4, 0, 0], [5, 0, 0], [6, 0, 0], [7, 0, 0], ]; var_dump(array_intersect($aArray, $jump)); [/code] Результат, который я получаю, следующий: [code]array(8) { [0]=> array(3) { [0]=> int(0) [1]=> int(0) [2]=> int(0) } [1]=> array(3) { [0]=> int(1) [1]=> int(0) [2]=> int(0) } [2]=> array(3) { [0]=> int(2) [1]=> int(0) [2]=> int(0) } [3]=> array(3) { [0]=> int(3) [1]=> int(0) [2]=> int(0) } [4]=> array(3) { [0]=> int(4) [1]=> int(0) [2]=> int(0) } [5]=> array(3) { [0]=> int(5) [1]=> int(0) [2]=> int(0) } [6]=> array(3) { [0]=> int(6) [1]=> int(0) [2]=> int(0) } [7]=> array(3) { [0]=> int(7) [1]=> int(0) [2]=> int(0) } } [/code] Почему второй индекс не отфильтровывается? Я попытался очистить свой кеш на случай, если там хранятся старые значения. Я также заметил, что если я удалю последний массив из массива перехода, он все равно выдаст 7,0,0. Это странная аномалия? Подробнее здесь: [url]https://stackoverflow.com/questions/30143084/filter-out-rows-of-a-2d-array-if-the-row-is-not-found-in-another-2d-array[/url]