Cet article vous montre principalement comment synthétiser la chaîne commune la plus longue à partir de deux chaînes en utilisant PHP. Impliquant la chaîne php et la traversée de tableaux, les opérations, le jugement et d'autres compétences opérationnelles connexes.
Le code est le suivant :
<?php $a = 'abceee12345309878'; $b = 'abceeew2345i09878fsfsfsfabceeewsfsdfsfsabceeew'; $c = array(); $lenht1 = strlen($a); $lenth2 = strlen($b); $startTime = microtime(true); for ($i=0;$i<$lenht1;$i++) { for ($j=0;$j<$lenth2;$j++) { $n = ($i-1>=0 && $j-1>=0)?$c[$i-1][$j-1]:0; $n = ($a[$i] == $b[$j]) ? $n+1:0; $c[$i][$j] = $n; } } foreach ($c as $key=>$val) { $max = max($val); foreach ($val as $key1 =>$val1) { if ($val1 == $max && $max>0) { $cdStr[$max] = substr($b,$key1-$max+1,$max); } } } ksort($cdStr); $endTime = microtime(true); echo "Totle time is " . ($endTime - $startTime) . " s"."<br/>"; print_r(end($cdStr)); exit; ?>
Résultats d'exécution :
Totle time is 0.0012800693512 s abceee
Je crois que vous maîtrisez la méthode après avoir lu ces cas , plus excitant Veuillez prêter attention aux autres articles connexes sur le site Web chinois php !
Lecture connexe :
Comment générer un produit cartésien avec la fonction personnalisée PHP
Comment PHP résout le problème des grands sites Web trafic et haute concurrence
Explication détaillée des types de données javascript et du code d'utilisation de git
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!