application/helpers/camilo_helper.php
// IMPORTANTE.. PASAR NOMBREBASE CON MINIMO DOS PALABRAS
IMPORTANTE.. PASAR NOMBREBASE CON MINIMO DOS PALABRAS
IMPORTANTE .. PASAR NOMBREBASE CON MINIMO DOS PALABRAS
function comparationsNames($arrayNames, $nameBase){
	        	$pLastname1 = 0;
	        	$pLastname2 = 0;
	        	$pLastname3 = 0;
	        	$nameResult = "false";
	        	$contador = 0;
	        	$similares= [];
	        	$name = explode(" ", $nameBase);
	        	for ($i=0; $i < count($arrayNames) ; $i++) { 
	        		similar_text(explode(" ", $arrayNames[$i])[0] , $name[0], $percentName);
	        		similar_text(explode(" ", $arrayNames[$i])[1] , $name[0], $percentSecontName);
	        		if ($percentName > 70 || $percentSecontName > 70) {
	        			if (explode(" ", $arrayNames[$i])[2]) {
	        				similar_text(explode(" ", $arrayNames[$i])[2], $name[1], $pLastname1);
		   		    		similar_text(explode(" ", $arrayNames[$i])[2] ,$name[2], $pLastname2);
   							similar_text(explode(" ", $arrayNames[$i])[2] , $name[3], $pLastname3);
	        			}
	        			if (explode(" ", $arrayNames[$i])[3]) {
	        				similar_text(explode(" ", $arrayNames[$i])[3], $name[1], $pLastname1B);
		   		    		similar_text(explode(" ", $arrayNames[$i])[3] ,$name[2], $pLastname2B);
   							similar_text(explode(" ", $arrayNames[$i])[3] , $name[3], $pLastname3B);
	        			}		       
				         if ($pLastname1 > 69 || $pLastname2 > 69 || $pLastname3 > 69 || $pLastname1B > 69 || $pLastname2B > 69 || $pLastname3B > 69) {
				           $nameResult = $arrayNames[$i];
				           array_push($similares, $nameResult);
				           $contador++;
				         }
	        		}
	            }
	            if ($contador > 1) {
	            	for ($j=0; $j < count($similares) ; $j++) {
	            		$sim[$j] = similar_text($nameBase, $similares[$j]);
	            	}
	            	return $similares[array_keys($sim, max($sim))[0]];
	            } 
	            return $nameResult;
  		}
function comparationsNames ( $ arrayNames , $ nameBase ) { $ pLastname1 = 0 ; $ pLastname2 = 0 ; $ pLastname3 = 0 ; $ nameResult = " false " ; $ contador = 0 ; $ similares = [ ] ; $ name = explode ( " " , $ nameBase ) ; for ( $ i = 0 ; $ i < count ( $ arrayNames ) ; $ i ++ ) { similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 0 ] , $ name [ 0 ] , $ percentName ) ; similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 1 ] , $ name [ 0 ] , $ percentSecontName ) ; if ( $ percentName > 70 || $ percentSecontName > 70 ) { if ( explode ( " " , $ arrayNames [ $ i ] ) [ 2 ] ) { similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 2 ] , $ name [ 1 ] , $ pLastname1 ) ; similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 2 ] , $ name [ 2 ] , $ pLastname2 ) ; similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 2 ] , $ name [ 3 ] , $ pLastname3 ) ; } if ( explode ( " " , $ arrayNames [ $ i ] ) [ 3 ] ) { similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 3 ] , $ name [ 1 ] , $ pLastname1B ) ; similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 3 ] , $ name [ 2 ] , $ pLastname2B ) ; similar_text ( explode ( " " , $ arrayNames [ $ i ] ) [ 3 ] , $ name [ 3 ] , $ pLastname3B ) ; } if ( $ pLastname1 > 69 || $ pLastname2 > 69 || $ pLastname3 > 69 || $ pLastname1B > 69 || $ pLastname2B > 69 || $ pLastname3B > 69 ) { $ nameResult = $ arrayNames [ $ i ] ; array_push ( $ similares , $ nameResult ) ; $ contador ++ ; } } } if ( $ contador > 1 ) { for ( $ j = 0 ; $ j < count ( $ similares ) ; $ j ++ ) { $ sim [ $ j ] = similar_text ( $ nameBase , $ similares [ $ j ] ) ; } return $ similares [ array_keys ( $ sim , max ( $ sim ) ) [ 0 ] ] ; } return $ nameResult ; }
IMPORTANTE.. PASAR NOMBREBASE CON MINIMO DOS PALABRAS
IMPORTANTE .. PASAR NOMBREBASE CON MINIMO DOS PALABRAS
// Declaracion de variables a usar // secciono en partes el nombre base para comparacion // ciclo hasta la cantidad de nombres q existe en el array //comparo su nombre Base con el primer y segundo nombre del nombre del array //si la similitud es mayor al 70% //Si apellido del nombre de su array existe // si segundo apellido existe // si en alguna de las comparaciones con respecto al nombrebase es mayor al 69% //lo capturo en una variables y lo agrego a arreglo de similares	 //uso el contador por si hay mas de un registro q cumple las condiciones //si hay mas de 1 registro que cumple.... // ciclo hasta la cantidad de registros que cumple... // los comparo directamente con el nombre base completo sin seccionarlo y  // guardo la similitud en una variable //retorno el nombre que tubo mayor similitud con respecto al nombre base // si solo hay una similitud que cumple (contador = 1) retorno ese nombre // si no hay ninguna similitud que cumpla retorna "false"