Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: d91 en 6 Octubre 2016, 16:07 pm



Título: Como recorrer un array de objetos
Publicado por: d91 en 6 Octubre 2016, 16:07 pm
Hola intento crear un array de objetos pero no se como recorrerlo cuando ya lo he llenado tal vez alguien me pueda ayudar aqui el codigo
Código
  1. $sql = "select Id_producto, Id_proveedor, Id_tipo, nombre from producto where Id_producto = '{$id}'";
  2.    $select = mysqli_query($db,$sql);
  3.    $array = mysqli_fetch_array($select);
  4.  
  5.    $objeto = new Producto();
  6.       $objeto->setIdProducto($array["Id_producto"]);
  7.       $objeto->setIdProveedor($array["Id_proveedor"]);
  8.       $objeto->setIdTipo($array["Id_tipo"]);
  9.       $objeto->setNombre($array["nombre"]);
  10.  
  11.    if(empty($canasta)){
  12.        $canasta[0] = $objeto;
  13.        $cont = count($canasta);
  14.        //$_SESSION["cont"] = count($_SESSION["Canasta"]) + 1;
  15.      }
  16.      else
  17.      {
  18.        $i = $cont;
  19.        $canasta[$i] = $objeto;
  20.        $cont++;
  21.        //$i = $_SESSION["cont"];
  22.        //$_SESSION["Canasta"][$i] = serialize($objeto);
  23.        //$_SESSION["cont"] = $i + 1;
  24.      }
  25.  
con el var_dump muestra que si se esta llenando pero no se como hacerlo con for / foreach

Ahora lo intento de esta manera:
Código
  1. $sql = "select Id_producto, Id_proveedor, Id_tipo, nombre from producto where Id_producto = '{$id}'";
  2.    $select = mysqli_query($db,$sql);
  3.    $array = mysqli_fetch_array($select);
  4.  
  5.    $objeto = new Producto();
  6.       $objeto->setIdProducto($array["Id_producto"]);
  7.       $objeto->setIdProveedor($array["Id_proveedor"]);
  8.       $objeto->setIdTipo($array["Id_tipo"]);
  9.       $objeto->setNombre($array["nombre"]);
  10.  
  11.    if(!isset($_SESSION["Canasta"])){
  12.        $_SESSION["Canasta"][0] = $objeto;
  13.        $_SESSION["cont"] = count($_SESSION["Canasta"]) + 1;
  14.  
  15.      }
  16.      else
  17.      {
  18.        $i = $_SESSION["cont"];
  19.        $_SESSION["Canasta"][$i] = $objeto;
  20.        $_SESSION["cont"] = $i + 1;
  21.      }
  22.  

pero en la segunda iteracion me lanza una excepcion __PHP_incomplete_CLASS al visualizarlo ocn var_dump

MOD: No hacer doble post.