Foros del Web » Programando para Internet » PHP »

Problema con concatenacion

Estas en el tema de Problema con concatenacion en el foro de PHP en Foros del Web. Buenas tardes, tengo un problema con el siguiente código al finalizar este código debo realizar una concatenación por registro pero no lo logro realizar, mejor ...
  #1 (permalink)  
Antiguo 10/12/2014, 11:20
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Problema con concatenacion

Buenas tardes,

tengo un problema con el siguiente código al finalizar este código debo realizar una concatenación por registro pero no lo logro realizar, mejor dicho no se como mas hacerlo. aquí mi código explicado lo mas detallado posible

Código PHP:
$arrDatBc['Num_pedido'] = "33333333333314"
$arrDatBc['numcheque'] = "000027";

$conca $arrDatBc['Num_pedido'].$arrDatBc['numcheque'];
$tamanoconca sizeof($conca);
//relleno con ceros porque necesito un tamño de 24 digitos
$conca str_pad($conca24'0'STR_PAD_LEFT); // se rellena con 0 izquierda    
//el resultado anterior para este ejemplo seria 000033333333333314000027

//luego de tener los 24 digitos debo separar de a 3 digitos
$tira str_split($conca3);
/*el resultado anterior seria 
000    033    333    333    333    314    000    027*/
$tamanotira sizeof($tira);

//declaro variables para las operaciones que se deben realizar
$virtual 0;    
$mul 5;
$div 3;

for(
$l 0$l $tamanotira$l++) 

    
/*separo el arreglo de a 1 digito para poder realizar la sumatoria del arreglo
    para este ejemplo 000 y con 033 con el split debe quedar
    Array
    (
        [0] => 0
        [1] => 0
        [2] => 0
    )
    Array
    (
        [0] => 0
        [1] => 3
        [2] => 3
    )
    Array
    (
        [0] => 3
        [1] => 3
        [2] => 3
    )
    Array
    (
        [0] => 3
        [1] => 3
        [2] => 3
    )
    Array
    (
        [0] => 3
        [1] => 3
        [2] => 3
    )
    Array
    (
        [0] => 3
        [1] => 1
        [2] => 4
    )
    Array
    (
        [0] => 0
        [1] => 0
        [2] => 0
    )
    Array
    (
        [0] => 0
        [1] => 2
        [2] => 7
    )
    */        
    
$cad str_split($tira[$l], 1);
    
    
$sumacad array_sum($cad); /*aqui realizo la sumatoria por cada arreglo quedando el resultado de la siguiente forma
    0    6    9    9    9    8    0    9
    */
    
$rstVir = ($sumacad $mul)/ $div/*aqui realizo la siguiente operacion con los datos anteriores y los declarados arriba
    0    10    15    15    15    13    0    15
    */
    
    //convierto a entero porque asi lo requiero para luego hacer una consulta
    
$arrDatTV['rstVir'] = intval($rstVir); 

    
//el numero entero que obtuve en el paso anterior lo consulto contra una tabla de equivalencias, por ejemplo la siguientes equivalencias
    /*
    0 equivale a 0 en la tabla
    10    equivale a , en la tabla
    15    equivale a 3 en la tabla
    13 equivale a x en la tabla
    */
    
    
$getdataTV consTV$objDB$arrDatTV );
    
$arrDatBc['rstVir'] = $getdataTV[0][2];
    
/*el resultado de esas equivalencias es el siguiente
    0    ,    3    3    3    x    0    3
    */
    //luego de obtener ese resultado de equivalencia tengo que armarlos por cada registro, es decir debo concatenar pero si concateno con .= al ser mas de un registro no me va a funcionar
    
$pr = array($arrDatBc['rstVir']);

    
$arrDatBc['rstVirF'] .= $arrDatBc['rstVir'];

el resultado debe ser la concatenacion de 0,333x03
pero si concateno con .= al ser mas de un registro no me va a funcionar por que realiza como una especie de acumulado por ejemplo si tengo dos resultados
va a quedar asi
0,333x03
0,333x030,333x0z
__________________
paty :adios:

Última edición por niltza; 10/12/2014 a las 15:34 Razón: definir donde hace el acumulado
  #2 (permalink)  
Antiguo 10/12/2014, 18:40
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema con concatenacion

El tema es: ¿cómo quieres obtener los resultados?

por que si van a ser más de uno, lo podrías meter en un arreglo, por ejemplo:

$resultado[]=$arrDatBc['rstVirF'] . $arrDatBc['rstVir'];

luego, para ver los resultados, recorrerías el arreglo $resultado

creo que intentabas poner el resultado en la variable $pr, por lo que en vez de
$pr = array($arrDatBc['rstVir']);

debería ser

$pr[] = $arrDatBc['rstVirF'] .= $arrDatBc['rstVir'];
  #3 (permalink)  
Antiguo 12/12/2014, 08:26
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema con concatenacion

Buenos Días,

mira el resultado deben ser si son 2 registros así

0,333x03
0,333x0-

por lo que no puedo concatenar, por que al concatenar la primera vez va a mostrar
0,333x03
y la segunda me concatena en 1 solo los 2 resultados y así sucesivamente
0,333x030,333x0-
lo que esta en negrilla correspondería a otro registro

el ejemplo esta dado con un solo registro ya que esto viene de una consulta donde son mas de 1 registro, suponiendo que los valores fueran 2 el ejemplo sería así

$arrDatBc['Num_pedido'] = "33333333333314";
$arrDatBc['numcheque'] = "000027";

el resultado despues de todas las operaciones seria 0,333x03

y

$arrDatBc['Num_pedido'] = "33333333333314";
$arrDatBc['numcheque'] = "000028";

el resultado de este después de todas las operaciones seria: 0,333x0-
__________________
paty :adios:

Última edición por niltza; 12/12/2014 a las 08:34
  #4 (permalink)  
Antiguo 12/12/2014, 10:01
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema con concatenacion

Sí, si eso se ha entendido...

Lo que te preguntaba ocp001a, es...

¿Qué quieres hacer con ese resultado?

Ese 0,333x03, y los sucesivos que te de el bucle... ¿guardarlos en un array? ¿imprimirlos?

Si es guardarlos en un array, ya te han contestado...
Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 15/12/2014, 11:46
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema con concatenacion

Hola necesito guardara cada resultado puede ser en un arreglo pero al hacer lo que me indican me sigue dando el mismo resultado el segundo registro lo concatena con el primero y eso no es lo que necesito, realice la prueba y esto es lo que arroja al imprimir el arreglo, necesito como el primero arreglo hacer lo mismo con el segundo arreglo pero sin que se concantene al primero

Array
(
[0] => 0
[1] => 0,
[2] => 0,3
[3] => 0,33
[4] => 0,333
[5] => 0,333x
[6] => 0,333x0
[7] => 0,333x03
)
Array
(
[0] => 0
[1] => 0,
[2] => 0,3
[3] => 0,33
[4] => 0,333
[5] => 0,333x
[6] => 0,333x0
[7] => 0,333x03
[8] => 0,333x030
[9] => 0,333x030,
[10] => 0,333x030,3
[11] => 0,333x030,33
[12] => 0,333x030,333
[13] => 0,333x030,333x
[14] => 0,333x030,333x0
[15] => 0,333x030,333x0z
)

Para el primero estaría bien pero el segundo esta concatenando con el primero y eso no es lo que requiero, es resultado que yo no necesito obtener son 2 registros pero asi, cada arreglo de 8 posiciones

Array
(
[0] => 0
[1] => 0,
[2] => 0,3
[3] => 0,33
[4] => 0,333
[5] => 0,333x
[6] => 0,333x0
[7] => 0,333x03
)
Array
(
[0] => 0
[1] => 0,
[2] => 0,3
[3] => 0,33
[4] => 0,333
[5] => 0,333x
[6] => 0,333x0
[7] => 0,333x0z
)
__________________
paty :adios:
  #6 (permalink)  
Antiguo 17/12/2014, 11:11
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema con concatenacion

Buenos Días,
Alguien que me pueda por favor orientar
__________________
paty :adios:
  #7 (permalink)  
Antiguo 18/12/2014, 02:12
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema con concatenacion

Tendrás q reinicializar el array...

Vamos, que en cada iteracion lo dejes en blanco ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 22/12/2014, 08:50
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema con concatenacion

Hola buenos dias,

ya realice la prueba y me sigue saliendo lo mismo, no se si no me explico bien para que me puedan ayudar porque sigo con el mismo inconveniente
__________________
paty :adios:

Etiquetas: registro, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:30.