Попытка получить пользовательский массив с циклом PHP - PullRequest
0 голосов
/ 19 февраля 2020

Добрый день, я пытаюсь сгенерировать CSV с массивом ниже

array[0] => array(
  ["a"] => 1, 
  ["b"] => 1, 
  ["c"] => 1, --> the value is only 1 and 2
  ["d"] => user2, 
),
array[1] => array(
  ["a"] => 1,
  ["b"] => 1,
  ["c"] => 2,
  ["d"] => user3,
),
array[2] => array(
  ["a"] => 2,
  ["b"] => 2,
  ["c"] => 1,
  ["d"] => user4,
),
array[3] => array(
  ["a"] => 2,
  ["b"] => 2,
  ["c"] => 2,
  ["d"] => user5,
)

edit: я хочу получить массив 2 с одинаковыми числами на значениях "a" и "b", но разные в Значение "c" я попробовал мой код ниже

$results = array();

for($i = 1 ; $i <= 10 ; $i++){
    $j = $i+1;

    $response = array(
        array(
            $i, $i, 1, "user".$i
        ),
        array(
            $i, $i, 2, "user".$j
        )
    );
    array_push($results, $response);
}

, но результат массива не такой, как я хотел, как выше результат. Есть ли какие-либо решения? Извините за путаницу в этом вопросе, я стараюсь изо всех сил спросить. Спасибо тебе за помощь!.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

1.Вы должны использовать % (оператор модулей) в своем коде, чтобы установить 1 или 2 в третьем индексе каждого вашего дочернего массива.

2.Не создать слишком много массивов / переменных в вашем коде. Делать прямые назначения

$results = array();
$j = 1;
for($i=1; $i<=10; $i++){
    $j++;
    $results[] = array($i, $i, 1, "user".$j);
    $j++;
    $results[] = array($i, $i, 2, "user".$j);
}

print_r($results);

Вывод: https://3v4l.org/GE7MD

1 голос
/ 19 февраля 2020

Я думаю, вам придется работать с для l oop и вручную увеличивать значение для вашего userx значения следующим образом.

$results = [];
$user = 1;

for($i = 1 ; $i <= 10 ; $i++){
    $x = 1;
    $user++;
    $results[] = [$i, $i, $x, "user$user"];
    $x = 2;
    $user++;
    $results[] = [$i, $i, $x, "user$user"];
}
print_r($results);

РЕЗУЛЬТАТ:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
            [3] => user2
        )

    [1] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 2
            [3] => user3
        )

    [2] => Array
        (
            [0] => 2
            [1] => 2
            [2] => 1
            [3] => user4
        )

    [3] => Array
        (
            [0] => 2
            [1] => 2
            [2] => 2
            [3] => user5
        )

    [4] => Array
        (
            [0] => 3
            [1] => 3
            [2] => 1
            [3] => user6
        )

    [5] => Array
        (
            [0] => 3
            [1] => 3
            [2] => 2
            [3] => user7
        )

    [6] => Array
        (
            [0] => 4
            [1] => 4
            [2] => 1
            [3] => user8
        )

    [7] => Array
        (
            [0] => 4
            [1] => 4
            [2] => 2
            [3] => user9
        )

    [8] => Array
        (
            [0] => 5
            [1] => 5
            [2] => 1
            [3] => user10
        )

    [9] => Array
        (
            [0] => 5
            [1] => 5
            [2] => 2
            [3] => user11
        )

    [10] => Array
        (
            [0] => 6
            [1] => 6
            [2] => 1
            [3] => user12
        )

    [11] => Array
        (
            [0] => 6
            [1] => 6
            [2] => 2
            [3] => user13
        )

    [12] => Array
        (
            [0] => 7
            [1] => 7
            [2] => 1
            [3] => user14
        )

    [13] => Array
        (
            [0] => 7
            [1] => 7
            [2] => 2
            [3] => user15
        )

    [14] => Array
        (
            [0] => 8
            [1] => 8
            [2] => 1
            [3] => user16
        )

    [15] => Array
        (
            [0] => 8
            [1] => 8
            [2] => 2
            [3] => user17
        )

    [16] => Array
        (
            [0] => 9
            [1] => 9
            [2] => 1
            [3] => user18
        )

    [17] => Array
        (
            [0] => 9
            [1] => 9
            [2] => 2
            [3] => user19
        )

    [18] => Array
        (
            [0] => 10
            [1] => 10
            [2] => 1
            [3] => user20
        )

    [19] => Array
        (
            [0] => 10
            [1] => 10
            [2] => 2
            [3] => user21
        )

)

Я удалил array_push(), так как быстрее (без вызова функции) сделать простое $arr[] = $something;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...