Итак, я пытаюсь получить список всех возможных сочетаний набора слов.Как вернуть всю возможную комбинацию в php
$product_name = ‘iPhone 4s’;
$variations = array(
'color' => array('black', 'white'),
'memory' => array('16GB', '32GB', '64GB')
);
выход:
array(0 => 'iPhone 4s - black, 16GB',
1 => 'iPhone 4s - black, 32GB',
2 => 'iPhone 4s - black, 64GB',
3 => 'iPhone 4s - white, 16GB',
4 => 'iPhone 4s - white, 32GB',
5 => 'iPhone 4s - white, 64GB',
);
Процедура для каждого слова во входном тексте, мы хотим, чтобы пройти через весь наш массив значений. Там есть другие массивы («original» => «синонимы»). Оттуда мы прокручиваем каждый синоним и добавляем его в список возможных комбинаций.
Мой подход:
Во-первых, я думаю, что я должен использовать два цикла Еогеасп для достижения результата, но тогда что, если я продолжать увеличивать количество массива внутри массива.
Код:
$product_name = "iPhone 4s";
$variations = array(
"color" => array("black", "white"),
"memory" => array("16GB", "32GB", "64GB")
);
$a = array();
$count = 0;
foreach($variations as $key => $value) {
foreach($value as $k => $v){
$x = $product_name." - ".$value.$v."\n";
array_push($a,$x);
}
}
foreach($a as $x) {
echo $x;
}
вы можете использовать is_array(), чтобы проверить, является ли элемент массива другим массивом и перебирает этот цикл ... – Akshay