Как использовать php для получения уникальной пары слов (строки) и вставки в таблицу mysql

код:

$a=array("apple","bird","cat","dog"); $b=array("bird","cat","dog","flog"); $res = array(); foreach($a as $v1) { foreach($b as $v2) { $t = array($v1, $v2); asort($t); $val = implode('', $t); if(!in_array($val, $res)) print $val; print "/"; } } 

код переписывается с помощью @pala_ form this article Как использовать php для подсчета массива слов (строки) в MySQL

и вот результат

 applebird/applecat/appledog/appleflog/birdbird/birdcat/birddog/birdflog/birdcat/catcat/catdog/catflog/birddog/catdog/dogdog/dogflog/ 

ok, и мой вопрос в том, хочу ли я разбить эту комбинационную строку на две строки

например: applebird —-> яблочная птица и вставка в таблицу MySQL

как:

источник | цель

яблоко | птица

яблоко | Кот

яблоко | собака

…….. что-то вроде этого, любая идея? Благодарю.

Related of "Как использовать php для получения уникальной пары слов (строки) и вставки в таблицу mysql"

Удалите implode, вместо этого сохраните их как многомерный массив:

 $a=array("apple","bird","cat","dog"); $b=array("bird","cat","dog","flog"); $res = array(); foreach($a as $v1) { foreach($b as $v2) { $t = array($v1, $v2); asort($t); if(!in_array($t, $res)) { print $res[] = $t; // alternatively, instead of building them into an array for further processing // you could immediately execute your sql query here, using $t[0], $t[1] as // the values (thanks to comments). If you are using prepared statements // (which you should be), if you prepare the statement outside of the loops // you can simply execute it here, passing $t[0] and $t[1] as the bound parameters } } } foreach($res as $pair) { ... // build your query using whatever mysql interface you are using // $pair[0] will be one word, $pair[1] will be the other } 

Я немного изменил код, который вам может понадобиться:

 <?php $a=array("apple","bird","cat","dog"); $b=array("bird","cat","dog","flog"); $res=array(); $finalString=""; foreach($a as $v1) { foreach($b as $v2) { $t=array($v1,$v2); asort($t); $val=implode('|',$t); if(!in_array($val, $res)) $finalString.=$val."/"; } } echo $finalString; ?> 

Вывод:

яблоко | птица / яблоко | кошка / яблоко | собака / яблоко | пороть / птица | птицы / птица | кошка / птица | собаки / птицы | пороть / птица | кошка / кот | кошка / кот | собака / кошка | пороть / птица | собака / кошка | собака / собака | собака / собака | пороть /

далее вы можете взорвать это на основе "/"

Это может вам помочь.