Foros del Web » Programando para Internet » PHP »

Sacar solo el final de un array

Estas en el tema de Sacar solo el final de un array en el foro de PHP en Foros del Web. Buenas amigos. Lo q quiero una vez introducido todos los valores en el array, es sacar los ultimos 4 valores. Código PHP: //La variable llevaria algo asi $array [ ...
  #1 (permalink)  
Antiguo 04/01/2005, 05:02
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 21 años, 5 meses
Puntos: 0
Sacar solo el final de un array

Buenas amigos. Lo q quiero una vez introducido todos los valores en el array, es sacar los ultimos 4 valores.
Código PHP:
//La variable llevaria algo asi
$array['nombre'][0]="estado_2004"
De tal forma q me quede el año en una sola variable, algo asi como:
Código PHP:
$var="2004"
Espero haberme explicado. Un saludo y gracias de antemano
  #2 (permalink)  
Antiguo 04/01/2005, 05:17
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Quieres sacar los ultimos 4 caracteres de una cadena. Eso lo puedes hacer con substr() (www.php.net/substr).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 04/01/2005, 05:46
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Recojes la longitud (N) de la variable y luego $variable=substr($variable,N-4,N)
  #4 (permalink)  
Antiguo 04/01/2005, 07:31
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 21 años, 5 meses
Puntos: 0
Ya lo he hecho es mas facil puesto q se q solo tengo q recoger los ultimos 4 caracteres.
Código PHP:
$array2[$a]=substr("$array1[$a]",-4); 
Esto con un bucle me deja dentro del primer array lo q necesito con los 4 ultimos caracteres. Muchas gracias
  #5 (permalink)  
Antiguo 04/01/2005, 10:25
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
mm no quise crear un tema por que siento que es parecido y puede ser sencillo para alguno de ustedes quisiera saber si alguien me puede decir como acceso al ultimo registro de la base de datos pero haciendo una consulta
tengo una tabla asi
campos

id nombre mensaje
1 Juan Hola
2 Ana xxxxx
3 Luis hola

quiero que me de el id 3 recoger el valor en una variable para despues sumarle 1 y que me de el 4 y despues insertarla en otro lado.
  #6 (permalink)  
Antiguo 04/01/2005, 10:29
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 8 meses
Puntos: 9
Cita:
Iniciado por JAMER
mm no quise crear un tema por que siento que es parecido y puede ser sencillo para alguno de ustedes quisiera saber si alguien me puede decir como acceso al ultimo registro de la base de datos pero haciendo una consulta
tengo una tabla asi
campos

id nombre mensaje
1 Juan Hola
2 Ana xxxxx
3 Luis hola

quiero que me de el id 3 recoger el valor en una variable para despues sumarle 1 y que me de el 4 y despues insertarla en otro lado.
el 4º registro , en este caso id= 4 llevará otro nombre?? porque si es asi te aconsejo que la columna Id la dejes como "AUTOINCREMENT" de esa forma no tendrás que insertar nada en id y solo se irá sumando..
__________________
Buena Vida...
Francisco
  #7 (permalink)  
Antiguo 04/01/2005, 10:31
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 20 años, 11 meses
Puntos: 1
solo pon la sgte consulta:

Código PHP:
Select MAX(id)+AS neoID FROM tabla 
y al final capturas el valor que te devuelve la consulta en una variable
__________________
saludos :adios:

Última edición por shinblood; 04/01/2005 a las 10:34
  #8 (permalink)  
Antiguo 04/01/2005, 11:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
JAMER

Ambos temas (este y el tuyo) poco tienen que ver .. no es lo mismo trabajar con arrays sólo que manejar un resultado que puedas obtener de una consulta SQL .. te recomiendo que inicies un nuevo tema y de preferencia en el foro de Base de datos .. pues la mayoría de soluciones si trabajas con BD se pueden hacer con SQL (como la sugerencia del amigo shinblood o similares)

Un saludo,
  #9 (permalink)  
Antiguo 04/01/2005, 11:13
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Cita:
Iniciado por shinblood
solo pon la sgte consulta:

Código PHP:
Select MAX(id)+AS neoID FROM tabla 
y al final capturas el valor que te devuelve la consulta en una variable

Lo e intentado asi supongo que lo que escribes va dentro de un mysql_query
Lo he realizado asi y no me a funcionado

include("conexbd.phtml"); //mis funciones para conectarme a mi bd
$link=Conectarse();
//Clave_chequeo es mi id
$result2=mysql_query("Select MAX(Clave_chequeo)+1 AS neoID FROM mitabla",$link);
echo "$result2";

no se que es neoID ???

no se si lo hice bien me podrias decir no sale ningun error de php pero cuando lo imprimo en el echo sale esto Resource id #4, disculpa mi novates
  #10 (permalink)  
Antiguo 04/01/2005, 11:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
JAMER .. insisto que incies un nuevo tema ..

Ahí tienes otro problema mas .. en este caso sobre uso de Mysql en PHP ..
La sentencia SQL que te indicaron crea un "alias" .. de nombre neoID que es el resultado de aplicar tal función (MAX() y sumar uno) .. lo puedes obtener con:

Código PHP:
echo mysql_result($result2,0,"neoID"); 
Un saludo,
  #11 (permalink)  
Antiguo 04/01/2005, 11:28
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Disculpa cluster no vi tu primer mensaje por estar escribiendo el mio y hasta que postee lo vi, ya cree el tema en base de datos aqui esta el enlace

http://www.forosdelweb.com/f21/como-acceder-ultimo-registro-tabla-259081/
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 21:19.