Как использовать php count вставить пару слов (string) в MySQL

образец массива

$a=array("a","b","c","d"); $b=array("b","c","d","f"); 

и я использую для цикла, чтобы произвести этот результат

 ab ac ad af bb bc bd bf cb cc cd cf db dc dd df 

один массив $ a элемент выравнивает элемент массива $ b

и я хочу подсчитать элемент этого решения, проблема в том, что я хочу bd и db как одно и то же, мы признаем, что он появляется два раза, как я могу это сделать в php? после этого я запишу все вставку решения count в MySQL

быстрый ответ. Сортируйте два элемента перед их объединением, затем проверьте, существуют ли они уже в наборе ответов.

 $a=array("a","b","c","d"); $b=array("b","c","d","f"); $res = array(); foreach($a as $v1) { foreach($b as $v2) { $t = array($v1, $v2); asort($t); $val = implode('', $t); if(!in_array($val, $res)) $res[] = $val; } } print_r($res); 

Лучшим алгоритмом было бы создание только допустимых строк конца цикла for.

Позвольте мне объяснить раньше.

$ А = массив ( "а", "б", "в", "г");

$ Ь = массив ( "б", "в", "г", "е");

$ Х = array_diff ($ а, $ б); // X будет иметь элементы «a» в одиночку.

$ y = array_uintersect () // Проверка синтаксиса. даст вам совпадения "b" "c" "d"

В используемом forloop используйте $ x вместо $ a.

Это приведет к следующему результату: «ab ac ad af»

И $ y имеет матчи. Таким образом, вы можете использовать его для создания «bb», «cc», «dd»,

Если вы хотите, чтобы счет был один, тогда ответ, который вы хотите, – это счет (совпадение) + результат вашего цикла for.

Мое решение:

  <?php $a=array("a","b","c","d"); $b=array("b","c","d","f"); $c=array(); $d=array(); $ii=0; foreach($a as $dat){ if(!isset($c[$dat])){ $c[$dat]=$ii; $ii++; } } foreach($b as $dat){ if(!isset($c[$dat])){ $c[$dat]=$ii; $ii++; } } $count=0; for ($i = 0; $i < count($a); $i++) { for ($j = 0; $j < (count($b)); $j++) { if(!isset($d[$c[$a[$i]]][$c[$b[$j]]])){ echo $a[$i].$b[$j]."<br/>"; $d[$c[$a[$i]]][$c[$b[$j]]]=1; $d[$c[$b[$j]]][$c[$a[$i]]]=1; $count++; } } } echo "The count is: ".$count; ?> 

Попробуй это:

 $a = array("a", "b", "c", "d"); $b = array("b", "c", "d", "f"); sort($a); sort($b); $result = []; for ($i = 0; $i < count($a); $i++) { for ($j = 0; $j < (count($b)); $j++) { if ($b[$j] < $a[$i]) { continue; } $result[] = $a[$i] . $b[$j]; } } $result = array_unique($result, SORT_STRING); var_dump($result); 
 $a=array("a","b","c","d"); $b=array("b","c","d","f"); $y=array_intersect($a,$b); print_r ($y); $req=count($a)*count($b) - count($y);//13 echo $req;