Foros del Web » Programando para Internet » PHP »

PHP OO Undefined offset, Array en Php

Estas en el tema de Undefined offset, Array en Php en el foro de PHP en Foros del Web. mi codigo es este: Este es el de una pagina: <? include('functions.php'); $variables = array("listo!", "tambien", "perfectos", "ok"); VerificadorDeContenido($variables); exit; ?> Este es el de ...
  #1 (permalink)  
Antiguo 07/01/2013, 17:52
 
Fecha de Ingreso: abril-2012
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 1
Pregunta Undefined offset, Array en Php

mi codigo es este:

Este es el de una pagina:
<?
include('functions.php');
$variables = array("listo!", "tambien", "perfectos", "ok");
VerificadorDeContenido($variables);
exit;
?>

Este es el de las funciones:
function VerificadorDeContenido($contenido){
for ($i=0; $i<=count($contenido); $i++) {
echo $contenido[$i]."<br />";;
}
}

la funcion debera de imprimirme los elementos de mi arreglo, y lo hace pero lo que pasa es que me debuelve este error:

listo!
tambien
perfectos
ok

Notice: Undefined offset: 4 in \functions.php on line 4


Que puedo hacer?
Gracias!
  #2 (permalink)  
Antiguo 07/01/2013, 18:04
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Undefined offset, Array en Php

En vez de $i<=count tiene que ser $i<count, ya que el array empieza con índice cero (0 a 3) y count te dice que hay 4 elementos (No puede ser igual a 4).

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 07/01/2013, 18:09
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 2 meses
Puntos: 511
Respuesta: Undefined offset, Array en Php

Hola que tal.

Tienes un error al momento de generar el for

Código PHP:
function VerificadorDeContenido($contenido){
      for (
$i=0$i<=count($contenido)-1$i++)
      {
            echo 
$contenido[$i]."<br />";;
      }

Le coloque el -1 ya que recuerda que en los array el indice inicial es 0

Saludos

me ganaron el post
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #4 (permalink)  
Antiguo 07/01/2013, 18:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Undefined offset, Array en Php

De todas maneras, no se debe calcular el total de elementos de un array de esa forma. Calcularlo en cada iteración del for, puede hacer el código más lento. Puedes optimizarlo así:

Código PHP:
Ver original
  1. function VerificadorDeContenido($contenido) {
  2.     for ($i = 0, $size = count($contenido); $i < $size; $i++) {
  3.         echo $contenido[$i] . "<br />";
  4.     }
  5. }

o calculando la cantidad de elementos por fuera del for.

Creo que usar foreach es mucho más cómodo:

Código PHP:
Ver original
  1. function VerificadorDeContenido($contenido) {
  2.     foreach ($contenido as $con) {
  3.         echo "$con <br />";
  4.     }
  5. }

http://php.net/manual/es/control-structures.for.php
http://php.net/manual/es/control-structures.foreach.php

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 07/01/2013, 18:27
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 2 meses
Puntos: 511
Respuesta: Undefined offset, Array en Php

Cita:
Iniciado por andresdzphp Ver Mensaje

Creo que usar foreach es mucho más cómodo:

Código PHP:
Ver original
  1. function VerificadorDeContenido($contenido) {
  2.     foreach ($contenido as $con) {
  3.         echo "$con <br />";
  4.     }
  5. }

http://php.net/manual/es/control-structures.for.php
http://php.net/manual/es/control-structures.foreach.php

Saludos.
Efectivamente tienes razón si lo que deseas hacer es optimizar el tiempo y el recursos para que de esta forma el código sea más eficiente.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #6 (permalink)  
Antiguo 07/01/2013, 20:18
 
Fecha de Ingreso: abril-2012
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Undefined offset, Array en Php

Muchas Gracias, si esa es la solucion!

Etiquetas: arreglos, elementos, undefined
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:01.