Создайте строки в 2D-массиве со значениями столбцов, представляющими уникальные комбинации данных из другого 2D-массива Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Создайте строки в 2D-массиве со значениями столбцов, представляющими уникальные комбинации данных из другого 2D-массива

Сообщение Anonymous »

У меня есть этот массив:

Код: Выделить всё

Array
(
[1] => Array
(
[0] => 5
[1] => 15
)

[3] => Array
(
[0] => 394
[1] => 398
)

[241] => Array
(
[0] => 35145
)

)
< /code>
И мне нужно сгенерировать новый массив, который содержит 1 значение из каждого субара, но не более 1 значения из каждого субрай Быть легче объяснить визуально, приведенный ниже массив - это то, чем должен стать результат: < /p>
Array
(
[0] => Array
(
[0] => 5
[1] => 394
[2] => 35145
)

[1] => Array
(
[0] => 5
[1] => 398
[2] => 35145
)

[2] => Array
(
[0] => 15
[1] => 394
[2] => 35145
)

[3] => Array
(
[0] => 15
[1] => 398
[2] => 35145
)

)
Вот что у меня есть на данный момент:

Код: Выделить всё

$d = [];
$i = 0;
foreach ($c as $id_feature => $x) {
foreach ($x as $id_feature_value) {
$d[$i][] = $id_feature_value;
foreach ($c as $id_feature2 => $x2) {
if ($id_feature === $id_feature2) {
continue;
}
$d[$i][] = $x2[0];
}
sort($d[$i]);
$i++;
}
}
#check if only 1 feature is selected
if (empty($d)) {
$d[0][] = $this->selected_features[0];
} else {
$d = array_map("unserialize", array_unique(array_map("serialize", $d)));
}
Что генерирует:

Код: Выделить всё

Array
(
[0] => Array
(
[0] => 5
[1] => 394
[2] => 35145
)

[1] => Array
(
[0] => 15
[1] => 394
[2] => 35145
)

[3] => Array
(
[0] => 5
[1] => 398
[2] => 35145
)
)
хотелось бы отметить, что 3 субаррей не гарантировано, может быть более или менее.


Подробнее здесь: https://stackoverflow.com/questions/732 ... nations-of
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»