Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2014, 11:20
niltza
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 20 años, 2 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