Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Como escolher qual será a chave do array em PHP e não aquela padrão (0 => ... 1 => ... 2 =>... )

$
0
0

@GabrielQueiroz escreveu:

É o seguinte, estou fazendo um pequeno sistema onde a pessoa pode incluir num array os produtos desejados, ela clica no botão do produto "Inserir" e alguns informações são colhidas desse produto e guardadas num array, no caso, o "id_produto", "nome_produto", "preco_produto", "quantidade_produto" são as informações colhidas e guardadas e nisso vai indo, a pessoa vai inserindo produtos e eles vão sendo guardados em um array. Tenho a seguinte estrutura em código:

case 'add':

        $produto = new ProdutoController();
        $retorno = $produto->selectId($_GET['id']);
        
        if (count($retorno) > 0)
        {
            foreach($retorno as $dados => $value)
            {
                $arrayProduto[$retorno[$dados]->id_produto] = array(
                                                        'id_prod' => $retorno[$dados]->id_produto, 
                                                        'nome_prod' => $retorno[$dados]->nome_produto,
                                                        'code_prod' => $retorno[$dados]->code_produto,
                                                        'preco_prod' => $retorno[$dados]->preco_produto,
                                                        'qtd_prod' => $_POST['txt_quantity']);
                
            }
            
            if(!empty($_SESSION['cart_item'])) 
            {    
                foreach ($arrayProduto as $key => $value) 
                {
                    if(array_key_exists($key, $_SESSION['cart_item'])) 
                    {    
                        ?> 
                            <script language="JavaScript" type="text/javascript"> 
                            alert ("Este produto já foi inserido!") 
                            </script>
                        <?php
                            header("Location: /view/cart/cart.php");
                    }
                    else
                    {
                        $_SESSION['cart_item'] = array_merge($_SESSION['cart_item'], $arrayProduto);
                        header("Location: /view/cart/cart.php");
                    }
                }
            }
            else
            {
                $_SESSION['cart_item'] = $arrayProduto;
                header("Location: /view/cart/cart.php");
            }
        }
        else
        {
            header("Location: /view");
        }
        break;`

´No caso, tenho a seguinte duvida:
Como faço pra eu escolher qual será a chave do array? Se eu deixar do jeito que tá, ele vai inserindo assim:

array (size=3)
  0 => 
    array (size=5)
      'id_prod' => string '1' (length=1)
      'nome_prod' => string 'GTX 1050 Gigabyte 2GB 128bits' (length=29)
      'code_prod' => string 'ab01' (length=4)
      'preco_prod' => string '599.90' (length=6)
      'qtd_prod' => string '1' (length=1)
  1 => 
    array (size=5)
      'id_prod' => string '5' (length=1)
      'nome_prod' => string 'VGA GTX 1070 Gigabyte 6GB 256bits' (length=33)
      'code_prod' => string 'ab07' (length=4)
      'preco_prod' => string '1399.90' (length=7)
      'qtd_prod' => string '1' (length=1)
  2 => 
    array (size=5)
      'id_prod' => string '2' (length=1)
      'nome_prod' => string 'VGA GTX 1050Ti EVGA 4GB 128bits' (length=31)
      'code_prod' => string 'ab04' (length=4)
      'preco_prod' => string '699.90' (length=6)
      'qtd_prod' => string '1' (length=1)

0 => COISAS COISAS
1 => COISAS COISAS
2 => COISAS COISAS

Porém eu não quero que seja estes números padrões (0, 1, 2, 3...), eu quero que seja o "id_produto" a chave do array, pra depois quando eu for excluir um produto, eu pegue o "id_prod", compare com a chave do array e onde for igual eu dou "unset", ou seja, estarei removendo. Preciso fazer a chave do array ser igual ao id_produto pra poder fazer o excluir, como faço?
Obrigado!

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>