Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemacon con insertar array_filter

Estas en el tema de Problemacon con insertar array_filter en el foro de PHP en Foros del Web. Buenas espero estén bien tengo un problema no se como seria la forma correcta de insertar el array_filter a mi codigo php espero me pueda ...
  #1 (permalink)  
Antiguo 04/10/2016, 18:39
 
Fecha de Ingreso: junio-2014
Mensajes: 30
Antigüedad: 9 años, 10 meses
Puntos: 0
Pregunta Problemacon con insertar array_filter

Buenas espero estén bien tengo un problema no se como seria la forma correcta de insertar el array_filter a mi codigo php espero me pueda ayudar :)

Este es mi codigo funciona sin problema

Código PHP:
<?php
$resta 
$_POST['resta'];
for (
$i=0;$i<count($resta);$i++)    
{     
echo 
"<br>Array Nº" $i " : Resta -> " $resta[$i];  
}
?>
El Resultado seria:

Array Nº0 : ID del Material -> 1
Array Nº1 : ID del Material -> 0
Array Nº2 : ID del Material -> 2

quiero eliminar el cero y solo muestre el 1 y 2 y quede todo tal cual en el resultado pero sin el cero se que con el array_filter se puede porque lo hice pero con mi codigo no puedo no se como insertarlo y funcione correcto.

Resultado final seria:

Array Nº0 : ID del Material -> 1
Array Nº2 : ID del Material -> 2

Saludos Gracias
  #2 (permalink)  
Antiguo 04/10/2016, 20:36
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problemacon con insertar array_filter

Solo tienes que realizar el filtro en la línea de la asignacíón a la variable $resta:
Código PHP:
Ver original
  1. $resta = array_filter($_POST['resta']);

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 05/10/2016, 09:13
 
Fecha de Ingreso: junio-2014
Mensajes: 30
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Problemacon con insertar array_filter

Cita:
Iniciado por Alexis88 Ver Mensaje
Solo tienes que realizar el filtro en la línea de la asignacíón a la variable $resta:
Código PHP:
Ver original
  1. $resta = array_filter($_POST['resta']);

Gracias Alexis88 eso lo intente antes, me salia este error por eso pense que tambien lo estaba haciendo mal

Código PHP:
Array Nº0 Resta -> 1
Notice
Undefined offset1 in C:xampphtdocsplanilla_2.php on line 221

Array Nº1 Resta -> 
Ando buscando el motivo de ese error para saber que sera.
  #4 (permalink)  
Antiguo 05/10/2016, 09:21
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problemacon con insertar array_filter

Es simple: si tenías un cero en la posición 1 del array y luego lo eliminaste en el filtrado, ya no existe dicha posición en el array; por eso es que en el mensaje se indica que no se ha definido una posición 1.

Te conviene recorrer al array con el constructor foreach.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 05/10/2016, 09:55
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problemacon con insertar array_filter

Si no es obligatorio utilizar array_filter y solo quieres saltar el ciclo cuando sea 0, bien puedes hacer un condicional para saltar el 0

Código PHP:
Ver original
  1. <?php
  2. $resta = $_POST['resta'];
  3. for ($i=0;$i<count($resta);$i++)    
  4. {
  5.     if ($resta[$i] == 0){
  6.         continue;
  7.     }
  8.     echo "<br>Array Nº" . $i . " : Resta -> " . $resta[$i];  
  9. }
  10. ?>
__________________
Unset($vida['malRollo']);
  #6 (permalink)  
Antiguo 05/10/2016, 10:15
 
Fecha de Ingreso: junio-2014
Mensajes: 30
Antigüedad: 9 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Problemacon con insertar array_filter

Cita:
Iniciado por Alexis88 Ver Mensaje
Es simple: si tenías un cero en la posición 1 del array y luego lo eliminaste en el filtrado, ya no existe dicha posición en el array; por eso es que en el mensaje se indica que no se ha definido una posición 1.

Te conviene recorrer al array con el constructor [URL="http://php.net/manual/es/control-structures.foreach.php"][inline]foreach[/inline][/URL].

Gracias Alexis por responder tan rapido.

Eso es correcto tenia un cero en el medio de los dos y como el filtro lo eliminaba no podía recorrer la cadena no sabia que ese era el error.

ya hice lo del foreach y funciona perfecto primera vez que lo uso aquí el resultado.

Código PHP:
<?php
$resta 
array_filter($resta);  
foreach(
$resta as $valor) {
echo 
"$valor<br/>";
}
?>
Resultado:
1
2
Gracias Alexis
  #7 (permalink)  
Antiguo 05/10/2016, 10:18
 
Fecha de Ingreso: junio-2014
Mensajes: 30
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Problemacon con insertar array_filter

Cita:
Iniciado por xerifandtomas Ver Mensaje
Si no es obligatorio utilizar array_filter y solo quieres saltar el ciclo cuando sea 0, bien puedes hacer un condicional para saltar el 0

Código PHP:
Ver original
  1. <?php
  2. $resta = $_POST['resta'];
  3. for ($i=0;$i<count($resta);$i++)    
  4. {
  5.     if ($resta[$i] == 0){
  6.         continue;
  7.     }
  8.     echo "<br>Array Nº" . $i . " : Resta -> " . $resta[$i];  
  9. }
  10. ?>
Cierto tu idea tambien me fuera funcionado porque eran solo ceros Gracias xerifandtomas

Etiquetas: Ninguno
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:59.