Есть массив вида:
array (
0 => 'A',
1 => 'B',
2 => 'C',
3 => 'D'
)
Каким образом получить из него массив вида:
array (
0 => 'A-B',
1 => 'A-C',
2 => 'A-D',
3 => 'B-C',
4 => 'B-D',
5 => 'C-D'
)
То есть чтобы его значения как бы сопаставились с каждым из значений по одному разу.
Буду очень благодарен за помощь!
В этом случае надо идти по номерам элементов.
$input = array (
0 => 'A',
1 => 'B',
2 => 'C',
3 => 'D'
);
$output=array();
for ($i=0;$i<sizeof($input);$i++) {
for ($j=$i+1;$j<sizeof($input);$j++) {
$output[]="$input[$i]-$input[$j]";
}
}
Результат
Array
(
[0] => A-B
[1] => A-C
[2] => A-D
[3] => B-C
[4] => B-D
[5] => C-D
)
$array = array (
0 => 'A',
1 => 'B',
2 => 'C',
3 => 'D'
);
$out_array = [];
foreach($array as $key=>$item){
foreach($array as $value){
if($item != $value){
$out_array[] = sprintf('%s-%s',$item,$value);
}
}
unset($array[$key]);
}
результат:
array(6) {
[0]=>
string(3) "A-B"
[1]=>
string(3) "A-C"
[2]=>
string(3) "A-D"
[3]=>
string(3) "B-C"
[4]=>
string(3) "B-D"
[5]=>
string(3) "C-D"
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно что бы к каждой записи в блоге, отображались комментарии, оставленные непосредственно для записи
Озадачен вопросом и не мог понять и найти ответВот как выглядит моя ссылка и все работает хорошо
Всем приветХотел бы узнать мнение опытных кодеров, почему такое поведение у метода filter