Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2009, 13:21
Avatar de lukas4
lukas4
 
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
comparacion de cadenas

hola que tal, tengo un problemita utilizando el strcasecmp, se supone que este es case-insesitive pero conmigo parece que no quiere trabajar, tengo el siguiente codigo:

Código PHP:
<?php 
$campos
[] = array();
$link=mysql_connect('localhost','root','');
mysql_select_db('mantoredes',$link);
$file='sample.xml';
$fh=fopen($file,'w') or die ("can't open file");
fwrite($fh,'<chart><chart_data><row><string>NULL</string><string>LoL</string></row>');
$query="SELECT * FROM marcas";
$busqueda=mysql_query($query,$link);
$i=0;$j=0;$k=0;$l=0;
while(
$row=mysql_fetch_array($busqueda)){
    
$campos[$i]=$row['marca'];
    echo 
$i.'.-'.$campos[$i].'<br>';
    
$i++;
    }
echo 
'<br>';
for(
$j=0;$j<$i;$j++){
    
$l=0;
    if(
$campos[$j]==""){
        echo 
'J = a: '.$j;
        echo 
' el campo esta vacio, pasamos al siguiente.<br>';
        }
    else{
        echo 
'J = a: '.$j.' marca: '.$campos[$j].'<br>';
        for(
$k=1;$k<$i;$k++){
            if(
$campos[$k]!=""){
                echo 
'K = a: '.$k.' marca: '.$campos[$k].', son iguales?<br>';
                if(
strcasecmp($campos[$j],$campos[$k])){
                    echo 
'si, son iguales, aumentamos L de: '.$l;
                    
$l=$l+1;
                    echo 
' a: '.$l.'<br><br>';
                    unset(
$campos[$k]);            
                    }
                else{
                    echo 
'nel, no son iguales<br><br>';
                    }
                }
            else{
                echo 
'K = a:'.$k.', el campo de K esta vacio<br><br>';
                }
            }
        unset(
$campos[$j]);
        }
    }
?>
estos son los valores que tengo en la base de datos:

0.-DELL
1.-DELL
2.-DELL
3.-HP
4.-HP
5.-ASUS
6.-ASUS
7.-DELL
8.-ASUS
9.-HP

y esto es lo que me muestra en pantalla (junto con lo anterior):
Código pantalla:
Ver original
  1. J = a: 0 marca: DELL
  2. K = a: 1 marca: DELL, son iguales?
  3. nel, no son iguales
  4.  
  5. K = a: 2 marca: DELL, son iguales?
  6. nel, no son iguales
  7.  
  8. K = a: 3 marca: HP, son iguales?
  9. si, son iguales, aumentamos L de: 0 a: 1
  10.  
  11. K = a: 4 marca: HP, son iguales?
  12. si, son iguales, aumentamos L de: 1 a: 2
  13.  
  14. K = a: 5 marca: ASUS, son iguales?
  15. si, son iguales, aumentamos L de: 2 a: 3
  16.  
  17. K = a: 6 marca: ASUS, son iguales?
  18. si, son iguales, aumentamos L de: 3 a: 4
  19.  
  20. K = a: 7 marca: DELL, son iguales?
  21. nel, no son iguales
  22.  
  23. K = a: 8 marca: ASUS, son iguales?
  24. si, son iguales, aumentamos L de: 4 a: 5
  25.  
  26. K = a: 9 marca: HP, son iguales?
  27. si, son iguales, aumentamos L de: 5 a: 6
  28.  
  29. J = a: 1 marca: DELL
  30. K = a: 1 marca: DELL, son iguales?
  31. nel, no son iguales
  32.  
  33. K = a: 2 marca: DELL, son iguales?
  34. nel, no son iguales
  35.  
  36. K = a:3, el campo de K esta vacio
  37.  
  38. K = a:4, el campo de K esta vacio
  39.  
  40. K = a:5, el campo de K esta vacio
  41.  
  42. K = a:6, el campo de K esta vacio
  43.  
  44. K = a: 7 marca: DELL, son iguales?
  45. nel, no son iguales
  46.  
  47. K = a:8, el campo de K esta vacio
  48.  
  49. K = a:9, el campo de K esta vacio
  50.  
  51. J = a: 2 marca: DELL
  52. K = a:1, el campo de K esta vacio
  53.  
  54. K = a: 2 marca: DELL, son iguales?
  55. nel, no son iguales
  56.  
  57. K = a:3, el campo de K esta vacio
  58.  
  59. K = a:4, el campo de K esta vacio
  60.  
  61. K = a:5, el campo de K esta vacio
  62.  
  63. K = a:6, el campo de K esta vacio
  64.  
  65. K = a: 7 marca: DELL, son iguales?
  66. nel, no son iguales
  67.  
  68. K = a:8, el campo de K esta vacio
  69.  
  70. K = a:9, el campo de K esta vacio
  71.  
  72. J = a: 3 el campo esta vacio, pasamos al siguiente.
  73. J = a: 4 el campo esta vacio, pasamos al siguiente.
  74. J = a: 5 el campo esta vacio, pasamos al siguiente.
  75. J = a: 6 el campo esta vacio, pasamos al siguiente.
  76. J = a: 7 marca: DELL
  77. K = a:1, el campo de K esta vacio
  78.  
  79. K = a:2, el campo de K esta vacio
  80.  
  81. K = a:3, el campo de K esta vacio
  82.  
  83. K = a:4, el campo de K esta vacio
  84.  
  85. K = a:5, el campo de K esta vacio
  86.  
  87. K = a:6, el campo de K esta vacio
  88.  
  89. K = a: 7 marca: DELL, son iguales?
  90. nel, no son iguales
  91.  
  92. K = a:8, el campo de K esta vacio
  93.  
  94. K = a:9, el campo de K esta vacio
  95.  
  96. J = a: 8 el campo esta vacio, pasamos al siguiente.
  97. J = a: 9 el campo esta vacio, pasamos al siguiente.
alguna idea de que estoy haciendo es lo que no estoy haciendo bien :S

nota: no le hagan caso a lo del fwrite y esas cosas, eso es para despues.