Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2009, 11:57
fiorella_liz
 
Fecha de Ingreso: noviembre-2008
Ubicación: lima
Mensajes: 148
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación Arreglo de string

Hola a todos, tengo un inconveniente con el siguiente codigo, a ver les explico:

En un formulario tengo un ÁREA DE TEXTO, donde ingreso cadenas de números, cuando voy a ingresar el siguiente le don un enter(tecla enter) e ingreso el que sigue así hasta que ingreso todaas las cadenas, luego envio el formulario y me envia los dayos ingresados a contar.php, aquí recibe el valor ingresado en el área de texto, elimino los caracteres del "enter", como me devuelve un arreglo de cadenas, deseo contar los elementos repetidos, para saber cuantas cadenas son iguales, pero el problema esta en que cadenas diferentes por un caracter las considera iguales:

Por ejemplo:


350021502120400236
350021502120400236
350021502120400237
350021502120400237
350021502120400236
350021502120400236

//mi función contar repeticiones me dice que del elemento 350021502120400236 hay 6 repeticiones cuando solo hay 4 y no cuenta a
350021502120400237 los toma como si fueran idénticos.


contar.php
Código PHP:
import_request_variables("GP");

$centro=$_REQUEST['centro'];
$pedido=$_REQUEST['pedido'];

function 
contar_repeticiones($array)
{
    
$ya_duplicados = array();
    
$cantidad_duplicados=array();
    
$cont=0;
       
    foreach(
$array as $item)
    {
        for(
$u=0;$u<sizeof($array); $u++)
        {
            if((
$item==$array[$u]) && !in_array($item$ya_duplicados))
            {
            
                
$cont++;
                 
            }
        }

        if(!
in_array($item$ya_duplicados))
        {
            
array_push($ya_duplicados$item);
            if(
$cont==0)
            {
                
$cont=1;
            }
            
$cantidad_duplicados[$item]=$cont;
    
           }
        
        
$cont 0;
        
    }
    
    return 
$cantidad_duplicados;
        
}


if(isset(
$_REQUEST['envia']))
{
    
$insert=$_REQUEST['ins'];
    
$trozos explode("\r\n"$insert);
    
array_pop($trozos);
    
//print_r($trozos);
    
    // $trozos=strtoupper($trozos);
    
$nuevo_arraycontar_repeticiones($trozos);
    
//print_r($nuevo_array); 
    
foreach($nuevo_array as $key => $val)
    {
         
$val1=strtoupper($key);
         
$insert="insert into pre_despacho values('".$centro."','".$pedido."','".$val1."','".$val."','".$val."','0')";
         
mysql_query($insert) or die(mysql_error());
    }