Цитата:
Сообщение от Ovsyanicov
Вот так получите необходимый результат:
PHP код:
FA=[];
pat=[];
for (var j = 0; j< 3; j++){
for (var i = 0; i < 3; i++){
pat[i] = [];
pat[i] = i+j;
}
console.log(pat);
FA[j]=pat;
}
console.log(FA);
|
Проблема так все равно не решится. В один и тот же массив
pat трижды переписываются значения в индексах с 0 по 2 (в цикле по
i). А в массив
FA каждый раз записывается ссылка на массив
pat (в цикле по
j). Если визуализировать, то примерно так это выглядит:
Порядок формирования массивов
- i == 0;
pat = [0, 1, 2];
FA = [
pat // [0, 1, 2]
]
- i == 1;
pat = [1, 2, 3];
FA = [
pat, // [1, 2, 3]
pat // [1, 2, 3]
]
- i == 2;
pat = [2, 3, 4];
FA = [
pat, // [2, 3, 4]
pat, // [2, 3, 4]
pat // [2, 3, 4]
]
[свернуть]