Jump to content

Usar HTML dentro de array PHP


Earendil010102
Go to solution Solved by Earendil010102,

Recommended Posts

Alguém sabe dizer como transformo várias div html em um array php? Tenho um projeto da faculdade onde preciso mostrar animais em ordem aleatória e, para isso, vou usar a função shuffle(). Mas para conseguir utilizar a função, preciso colocar as imagens dentro de um array. Segue o código abaixo.

<?php
$animais_detalhes = [
    'cachorro' => [
        'nome' => 'Cachorro',
        'caracteristicas' => [
            ['mora numa casinha', 'cachorro/mora_numa_casinha.jpg'],
            ['tem patas', 'cachorro/tem_patas.jpg']
        ]
    ],
    'coruja' => [
        'nome' => 'Coruja',
        'caracteristicas' => [
            ['gosta da noite', 'coruja/gosta_da_noite.jpg'],
            ['tem olhos grandes', 'coruja/tem_olhos_grandes.jpg']
        ]
    ],
    'gato' => [
        'nome' => 'Gato',
        'caracteristicas' => [
            ['dorme muito', 'gato/dorme_muito.jpg'],
            ['tem bigode', 'gato/tem_bigode.jpg']
        ]
    ],
    'peixe' => [
        'nome' => 'Peixe',
        'caracteristicas' => [
            ['tem escamas', 'peixe/tem_escamas.jpg'],
            ['vive na agua', 'peixe/vive_na_agua.jpg']
         ]
        ] 
];

$animais = array_keys($animais_detalhes);
$escolha_aleatoria = rand(0, 3);
$animal_escolhido = $animais_detalhes[$animais[$escolha_aleatoria]];

?>
<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
        <title>Hello, world!</title>

        <style>
            body {
                background: lightgreen;
            }

            .card-image img {
                object-fit: cover;
                object-position: center;
                width: 100%;
                max-height: 200px;
            }

            img.img-animal {
                object-fit: none;
                object-position: center;
                width: 100%;
                max-height: 200px;
            }
        </style>
    </head>
    <body>
        <div class="container-fluid p-4 pb-2" style="background: lightskyblue">
            <div class="row mt-2">
                <div class="col-md-2"></div>
                <div class="col-md-4">
                    <div class="card card-image d-block">
                        <img src="./imagens/<?=$animal_escolhido['caracteristicas'][0][1]?>" class="card-img-top" alt="<?=$animal_escolhido['caracteristicas'][0][0]?>">
                        <div class="card-body">
                            <p class="card-text"><?=$animal_escolhido['caracteristicas'][0][0]?></p>
                        </div>
                    </div>
                </div>
                <div class="col-md-4">
                    <div class="card card-image d-block">
                        <img src="./imagens/<?=$animal_escolhido['caracteristicas'][1][1]?>" class="card-img-top" alt="<?=$animal_escolhido['caracteristicas'][1][0]?>">
                        <div class="card-body">
                            <p class="card-text"><?=$animal_escolhido['caracteristicas'][1][0]?></p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="container-fluid p-2 mt-3" style="background: lightgreen">
            
            <div class="row">
               
                <div class="col-md-3"></div>
                
                <div class="col-md-3">
                    <a href="votar.php?apresentado=<?=$animais[$escolha_aleatoria]?>&escolhido=<?=$animais[$escolha_aleatoria]?>">
                        <img width="256" src="./imagens/<?=$animais[$escolha_aleatoria]?>.png" class="img-fluid" alt="animal" />
                    </a>
                </div>

                <div class="col-md-3"> 
                    <a href="votar.php?apresentado=<?=$animais[$escolha_aleatoria]?>&escolhido=<?=$animais[0]?>"> 
                        
                        <img width="256" src="imagens/<?=$animais[0]?>.png" class="img-fluid" alt="animal" />
                    </a>
                </div>

                <div class="col-md-3"></div>
                
            </div>
        
        </div>

        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
    </body>
</html>
Link to comment
Share on other sites

On 8/15/2020 at 7:19 PM, Earendil010102 said:

Acho que é melhor usar uma condicional IF para fazer isso. Mas como eu converto uma div em variável PHP para poder usar ela na condicional?

Bom, se já tinhas uma resposta e achas que é melhor do que qualquer outra, porque colocaste a questão?...

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.