Foros del Web » Programando para Internet » PHP »

Concatenar string y una variable de un array

Estas en el tema de Concatenar string y una variable de un array en el foro de PHP en Foros del Web. Muy buenas, supongamos que tengo un array así @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $array [ 'v' ] Al hacer var_dump obtengo esto array(1) { ...
  #1 (permalink)  
Antiguo 22/09/2014, 03:46
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 12 años
Puntos: 1
Concatenar string y una variable de un array

Muy buenas, supongamos que tengo un array así

Código PHP:
Ver original
  1. $array['v']

Al hacer var_dump obtengo esto

array(1) { [0]=> string(7) "1235496" }
Muchas gra


Y quiero concatenar ese valor '123496' y añadirle '-2d' entonces probe con esto:

$array['v`]=$variable.'-2d'; ($variable contiene tambien el valor'123496' y ya lo recibo antes en la funcion)

Y al usar var_dump me muestra esto:

string(10) "1235496-2d"

Me hace la concatenación, pero el resultado de la función var_dum cambia, no me pone que es un array... y en el insert que hago luego pues no me hace la insercción en la bd bien.

Que es lo que hago mal para que la concatenación me la haga en un string y no me devuelva un array?
  #2 (permalink)  
Antiguo 22/09/2014, 05:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Concatenar string y una variable de un array

$primerArray=array();

$primerArray['v']="1235496";

$unArray=array();


Tienes dos opciones

$variable=$primerArray['v'];
$unArray[]=$variable.'-2d';

o

$unArray[]=$primerArray['v'].'-2d';

eso será un array....en ambos casos.....

Incluso podrias

$unArray["v"]=$primerArray['v'].'-2d';

o tambien

$primerArray['v'].='-2d';


Ahora bien

$unArray es un array

$primerArray es un array

en cambio

$unArray["v"] NO es un array
$primerArray["v"] tampoco es un array
$unArray[0] NO es un array
$primerArray[0] tampoco es un array


pero si

$segundoArray=array();

$unArray["v"]=$segundoArray;

ahora si que $unArray["v"] es un array....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 22/09/2014 a las 05:51
  #3 (permalink)  
Antiguo 22/09/2014, 09:22
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 12 años
Puntos: 1
Respuesta: Concatenar string y una variable de un array

Ante todo gracias!

He intentado hacerlo así:

$primerArray['v'].='-2d';

Pero no lo he conseguido, así que voy a intentar explicarlo más detalladamente a ver si me pueden ayudar.

Tengo una funcion que entre muchas cosas hace esto:

Código PHP:
Ver original
  1. if(isset($is_DirectPay)){
  2.  
  3.             $res=restrict_localizador_code($localizador_, $company);
  4.             if($res === false){
  5.                 $PW['ticketCode'].='-2d';
  6.             }
  7.             db_insert_directPayment( $ticketCode, $company, $PW['ticketCode'], $nDate );
  8.            
  9.         }

lo primero que hago es recivir en $res si existe algun $localizador en la bd con el mismo valor, si devuelve false es uqe ya hay uno por lo que quiero concatenar al valor de $PW['ticketCode'] ese string '-2d'.

luego cuando hago la concatenación llamo a la funcion db_insert_directPayment( $ticketCode, $company, $PW['ticketCode'], $nDate ); que entre las variables que envia a la funcion esta ' $PW['ticketCode']' supuestamente concatenada ya.

La funcion es esta:

Código PHP:
Ver original
  1. function db_insert_directPayment( $reference, $company, $params, $edate ){
  2.     global $db_conn;
  3.     $valores = array();
  4.     //$date = date("Y-m-d H:i:s");
  5.    
  6.     foreach($params as $key => $value){
  7.         if(!empty($value)){
  8.             $valores[] = " ('$company', '$value', '1', 'bank-transfer', '$reference', '$edate') ";
  9.         }
  10.     }
  11.    
  12.     if( empty($valores) ){ return false; }
  13.    
  14.     $getValues = implode(',', $valores);
  15.     $SQL_consulta = " INSERT INTO campaign_company_sales
  16.     (company, ticket_code, ticket_pay, pay_method, ticket_key, ticket_date)  
  17.     VALUES $getValues ";
  18.     echo $SQL_consulta;
  19.     $altervativePayment = $db_conn->prepare($SQL_consulta, array());
  20.     $altervativePayment->execute();
  21.     return true;
  22. }

A mi no me entra en el insert, porque de hecho, no me hace el echo de la consulta. Antes he hecho var_dump de la concatenación y me devolvia string(8) "Array-2d".

Si no concateno ese array me hace el insert, es decir que lo unico que cambio es ese array y si lo concateno no me entra en el insert.

Gracias!

Última edición por baravaro; 22/09/2014 a las 10:14 Razón: error

Etiquetas: concatenar, string, 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 22:21.