Boa tarde, não entendi muito bem a sintaxe do código abaixo:
<?php foreach($categorias as $categoria) :
$essaEhACategoria = $produto['categoria_id'] == $categoria['id'];
$selecao = $essaEhACategoria ? "selected='selected'" : "";
?>
Eu achei mais fácil, e também mais legível usar um IF:
<?php foreach ($categorias as $categoria) :
if ($produto['categoria_id'] == $categoria['id']) {
$selecao = "selected='selected'";
} else {
$selecao = "";
}
?>
Tem alguma diferença? Pois pelo que vi o resultado foi o mesmo, pois não entendi a linha 2:
$essaEhACategoria = $produto['categoria_id'] == $categoria['id'];
Isso seria uma variável recebendo um teste logico de igualdade (recebendo o valor true)?