Foros del Web » Programando para Internet » PHP »

Quitar el ultimo valor de un array anidado

Estas en el tema de Quitar el ultimo valor de un array anidado en el foro de PHP en Foros del Web. Hola buenas veran mi problema es el siguiente: tengo un array multidimensional, donde dentro de el estan 3 arrays mas. despues hago dos for anidados ...
  #1 (permalink)  
Antiguo 23/12/2016, 12:48
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Quitar el ultimo valor de un array anidado

Hola buenas veran mi problema es el siguiente:

tengo un array multidimensional, donde dentro de el estan 3 arrays mas.

despues hago dos for anidados .

en el cual me da un resultado que tengo que hacerle un ajuste final que no se como llevarlo a cabo.

Lo explicare con el codigo:

tengo este array multidimensional:

Código PHP:
Ver original
  1. $coincidencias = array
  2.  
  3.  
  4.  
  5.                 (
  6.  
  7.                     array(1, 2, 3, 4),
  8.  
  9.                     array(5, 6, 7, 8),
  10.  
  11.                     array(9, 10, 11, 12)
  12.  
  13.                 );

seguidamente hago dos for anidados asi:

Código PHP:
Ver original
  1. for ($h=0; $h<$columnas; $h++)
  2.  
  3.  
  4.  
  5.                 {
  6.  
  7.                     if($h > 0) { echo "<br/>"; }
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                         for ($i=0; $i<$filas; $i++)
  14.  
  15.  
  16.  
  17.                             {
  18.  
  19.  
  20.  
  21.                                 echo $coincidencias[$h][$i] . '==';
  22.  
  23.  
  24.  
  25.                             } //Fin de for ($i=0; ...
  26.  
  27.  
  28.  
  29.                 } //Fin de for ($h=0; ...

El problema esta en la linea que dice:

echo $coincidencias[$h][$i] . '==';

Lo que me muestra por pantalla es esto:

1==2==3==4==
5==6==7==8==
9==10==11==12==

Y yo necesito que me muestre esto (sin el ultimo ==):
1==2==3==4==
5==6==7==8==
9==10==11==12

Con el problema añadido que yo al poner esto:

echo $coincidencias[$h][$i] . '=='; , el == es un string y no es un operador de igualdad que es lo que necesito.

osea que 1 == 2 == 3......

y no un 1 '==' 2 '==' 3 .......

Espero que alguien me pueda ayudar y hallan entendido mi problema un tanto enrevesado,

Un saludo.

Feliz navidad.
  #2 (permalink)  
Antiguo 23/12/2016, 13:08
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 8 meses
Puntos: 171
Respuesta: Quitar el ultimo valor de un array anidado

Si en $filas tienes la cantidad de registros e $i los va contando hasta alcanzar el mismo numevo de $filas... haces una comparación simple y si es igual al ultimo($filas) que NO imprima el echo con los == al final

Código PHP:
Ver original
  1. for ($h=0; $h<$columnas; $h++)
  2. {
  3. if($h > 0) { echo "<br/>"; }
  4. for ($i=0; $i<$filas; $i++) {
  5.  
  6. if($i == $filas){
  7. echo $coincidencias[$h][$i];
  8. }else{
  9. echo $coincidencias[$h][$i] . '==';
  10. }
  11.  
  12.      
  13. } //Fin de for ($i=0; ...
  14.  } //Fin de for ($h=0; ...
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 23/12/2016, 13:41
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 9 años
Puntos: 86
Respuesta: Quitar el ultimo valor de un array anidado

Es más sencillo. Te puedes apoyar en implode() y array_map()
Código PHP:
Ver original
  1. echo implode("==", array_map(function($entrada) {
  2.     return implode("==", $entrada);
  3. }, $coincidencias));
  #4 (permalink)  
Antiguo 23/12/2016, 15:37
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: Quitar el ultimo valor de un array anidado

Hola amigo, otra opción:

Código PHP:
Ver original
  1. $cadena = "";
  2. for ($h=0; $h<$columnas; $h++)
  3.                 {
  4.                      if($h > 0) { $cadena.= "<br/>"; }
  5.                         for ($i=0; $i<$filas; $i++)
  6.                             {
  7.                                $cadena.= $coincidencias[$h][$i] . '==';
  8.                             } //Fin de for ($i=0; ...
  9.                 } //Fin de for ($h=0;
  10. echo trim($cadena,"==");

Saludos!
  #5 (permalink)  
Antiguo 24/12/2016, 11:38
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: Quitar el ultimo valor de un array anidado

gracias todos por ayudarme al final lo he resuelto asi:

Código PHP:
Ver original
  1. if ($i < ($filas - 1))
  2.                      
  3.                         {      
  4.                             //echo $coincidencias[$h][$i] . '==' ;
  5.                            
  6.                             echo $coincidencias[$h][$i] . str_replace("'","","==") ;                   
  7.                         }
  8.                        
  9.                         else
  10.                        
  11.                         {                  
  12.                             echo $coincidencias[$h][$i];                       
  13.                         }

Espero que le sirva a alguien con el mismo problema.

Repito gracias a todos por ayudarme.

Y felices fiestas a todos/as.


Etiquetas: ultimo, valor
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 14:16.