{"id":4526,"date":"2019-09-18T15:32:03","date_gmt":"2019-09-18T15:32:03","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=4526"},"modified":"2023-07-28T09:08:18","modified_gmt":"2023-07-28T12:08:18","slug":"php-foreach","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/","title":{"rendered":"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays"},"content":{"rendered":"<p>Neste artigo, vamos entender o que \u00e9 o <strong>PHP Foreach<\/strong>, uma forme da iterar sobre matrizes (arrays) que \u00e9 muito \u00fatil para esta linguagem de programa\u00e7\u00e3o. Portanto, veremos os seguintes t\u00f3picos:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#top01\">O que \u00e9 o PHP Foreach<\/a><\/li>\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#top02\">Alguns conceitos b\u00e1sicos<\/a><\/li>\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#top03\">Sintaxe B\u00e1sica do PHP Foreach<\/a><\/li>\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#top04\">PHP Foreach: utilizando o valor da chave<\/a><\/li>\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#top05\">Exemplo final: Criando uma tabela dinamicamente com o Foreach<\/a><\/li>\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#top06\">Conclus\u00e3o<\/a><\/li>\n<\/ul>\n<p><a name=\"top01\"><\/a><\/p>\n<h2>O que \u00e9 o PHP Foreach<\/h2>\n<p>Existem v\u00e1rios modos para percorrer\u00a0arrays, no entanto, o mais simples deles \u00e9 utilizando o la\u00e7o de repeti\u00e7\u00e3o foreach em PHP. Este comando funciona s\u00f3 com arrays e objetos, e retorna um erro quando utilizado com outros tipos de express\u00f5es.<\/p>\n<p>O <strong>PHP foreach<\/strong> \u00e9 um la\u00e7o de repeti\u00e7\u00e3o especializada na itera\u00e7\u00e3o de Arrays. Ou seja, ele funciona como uma estrutura que est\u00e1 projetada para percorrer todos os elementos de uma Array. Dessa forma, al\u00e9m de melhorar a legibilidade do c\u00f3digo, tamb\u00e9m evitamos alguns problemas, como o acesso a elementos n\u00e3o existentes. Este \u00e9 um problema que poder ocorrer quando trabalhamos com uma estrutura do la\u00e7o de repeti\u00e7\u00e3o <strong><a href=\"https:\/\/www.w3schools.com\/php\/php_looping_for.asp\">for<\/a> <\/strong>em sua defini\u00e7\u00e3o b\u00e1sica.<\/p>\n<p>Com o <strong>PHP<\/strong> <strong>Foreach<\/strong> temos acesso a todos os elementos, da mesma forma que ter\u00edamos se trabalh\u00e1ssemos com o <strong>for<\/strong> normal. Dessa forma, temos um la\u00e7o de repeti\u00e7\u00e3o que percorrer\u00e1 todos os elementos e a cada ciclo ser\u00e1 definido o pr\u00f3ximo elemento contido na estrutura que est\u00e1 sendo iterada. Dessa forma, podemos entender o <strong>foreach<\/strong> como uma fun\u00e7\u00e3o que, a cada elemento de uma array, executa um bloco de a\u00e7\u00f5es definidas.<br \/>\n<a name=\"top02\"><\/a><\/p>\n<h2>Alguns conceitos b\u00e1sicos<\/h2>\n<p>Antes de prosseguirmos, podem ter surgidos algumas d\u00favidas com alguns termos utilizados anteriormente. Portanto, aqui, vamos deixar alguns conceitos b\u00e1sicos para melhor explica\u00e7\u00e3o e entendimento do nosso artigo.<\/p>\n<h4>O que \u00e9 uma array?<\/h4>\n<p class=\"para\">No PHP, um array \u00e9, na verdade, um mapa ordenado. Ou seja, \u00e9 um tipo que relaciona valores a chaves. Portanto, \u00e9 uma lista de valores que ser\u00e3o armazenados na mem\u00f3ria.<\/p>\n<p>Array \u00e9 um tipo de dado, assim como <strong>integer<\/strong>, <strong>float<\/strong>, <strong>string<\/strong> ou <strong>boolean<\/strong>. Por\u00e9m, ele pode armazenar mais de um valor, relacionando-os a suas chaves.<\/p>\n<p>De uma forma geral, podemos dizer que a <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/php-array\/\">array no PHP<\/a> \u00e9 uma vari\u00e1vel, por\u00e9m com a possibilidade de dentro dela possuirmos diversos valores. Utilizamos a estrutura do PHP Foreach para poder iterar sobre os valores de um array.<\/p>\n<p>Academicamente falando, o array PHP \u00e9 equivalente ao conceito de <strong>vetor<\/strong>. Tamb\u00e9m considerando uma array do PHP, existem as arrays multidimensionais, que s\u00e3o arrays compostas por outras arrays. Portanto, outro conceito acad\u00eamico que se assemelha a array do PHP \u00e9 o conceito de <strong>matriz<\/strong>.<\/p>\n<p>Voc\u00ea pode estar lendo mais e aprendendo como utilizar as arrays atrav\u00e9s da <a href=\"https:\/\/www.php.net\/manual\/pt_BR\/language.types.array.php\">pr\u00f3pria documenta\u00e7\u00e3o oficial do PHP<\/a>, ou ainda atrav\u00e9s da p\u00e1gina do <a href=\"https:\/\/www.w3schools.com\/php\/php_arrays.asp\">W3C Schools<\/a>.<\/p>\n<h4>O que \u00e9 itera\u00e7\u00e3o?<\/h4>\n<p>Na computa\u00e7\u00e3o, ou melhor, na programa\u00e7\u00e3o, o termo Itera\u00e7\u00e3o significa a repeti\u00e7\u00e3o de uma ou mais a\u00e7\u00f5es. Cada itera\u00e7\u00e3o refere-se a apenas uma inst\u00e2ncia da a\u00e7\u00e3o, ou seja, cada repeti\u00e7\u00e3o possui uma ou mais itera\u00e7\u00f5es. Dessa forma, podemos considerar o PHP Foreach como um la\u00e7o de repeti\u00e7\u00e3o que realiza uma itera\u00e7\u00e3o dentro de uma array.<\/p>\n<p>Outras fun\u00e7\u00f5es que tamb\u00e9m provocam itera\u00e7\u00f5es no c\u00f3digo s\u00e3o as fun\u00e7\u00f5es <strong>for<\/strong>, <strong>foreach<\/strong>, <strong>while<\/strong>, e diversos outros la\u00e7os de repeti\u00e7\u00f5es,\u00a0 fun\u00e7\u00f5es de looping.<\/p>\n<h4>O que \u00e9 um la\u00e7o de repeti\u00e7\u00e3o?<\/h4>\n<p>Um la\u00e7o de repeti\u00e7\u00e3o nada mais \u00e9 que um recurso que permite executar mais de uma vez trechos de c\u00f3digo de acordo com uma condi\u00e7\u00e3o. O PHP possui quatro estruturas de la\u00e7os de repeti\u00e7\u00e3o: <strong>for<\/strong>, <strong>foreach<\/strong>, <strong>while<\/strong> e <strong>do-while<\/strong>. Tamb\u00e9m \u00e9 poss\u00edvel criar la\u00e7os de repeti\u00e7\u00e3o com as estruturas do condicional <strong>if<\/strong>.<\/p>\n<p>Os la\u00e7os de repeti\u00e7\u00e3o tamb\u00e9m s\u00e3o comumente conhecidos como <strong>Loop<\/strong>, ou <strong>Looping<\/strong>. Tamb\u00e9m s\u00e3o considerados estruturas de controle.<\/p>\n<p>Voc\u00ea pode estar <a href=\"https:\/\/www.php.net\/manual\/pt_BR\/language.control-structures.php\">lendo mais a respeito na documenta\u00e7\u00e3o oficial<\/a> do PHP.<br \/>\n<a name=\"top03\"><\/a><\/p>\n<h2>Sintaxe B\u00e1sica do PHP Foreach<\/h2>\n<p>A sintaxe b\u00e1sica do PHP Foreach \u00e9 conforme o c\u00f3digo abaixo:<\/p>\n<pre class=\"lang:xhtml decode:true \">foreach ($array as $value) {\n    \/\/c\u00f3digo a ser executado;\n}<\/pre>\n<p>Dessa forma, para cada itera\u00e7\u00e3o do la\u00e7o de repeti\u00e7\u00e3o, o valor do elemento atual da Array \u00e9 atribu\u00eddo ao valor $value. Consequentemente o ponteiro da array \u00e9 movido um a um, at\u00e9 atingir seu \u00faltimo elemento.<\/p>\n<p>Vejamos ent\u00e3o o exemplo abaixo:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;body&gt;\n\n&lt;?php  \n    $cores = array(\"azul\", \"vermelho\", \"amarelo\", \"verde\"); \n\n    foreach ($cores as $value) {\n        echo \"$value &lt;br&gt;\";\n    }\n?&gt;  \n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n<p>Dessa forma, a nosso la\u00e7o de repeti\u00e7\u00e3o percorrer\u00e1 cada elemento da nossa array $cores e ir\u00e1 imprimi-lo na tela, conforme na imagem abaixo:<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-4543 aligncenter\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo01-1.jpg\" alt=\"Exemplo do la\u00e7o de repeti\u00e7\u00e3o PHP Foreach\" width=\"109\" height=\"111\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo01-1.jpg 109w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo01-1-1x1.jpg 1w\" sizes=\"(max-width: 109px) 100vw, 109px\" \/><\/p>\n<p>Caso deseje modificar diretamente elementos de um array dentro de um la\u00e7o, preceda <em>$value<\/em> com &amp;, conforme o exemplo abaixo:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;body&gt;\n  &lt;?php\n    $arr = array(1, 2, 3, 4);\n    foreach ($arr as &amp;$value) {\n        $value = $value * 3;\n    }\n    print_r($arr);\n  \/\/ agora a nosa $arr possui os valores (3, 6, 9, 12)\n  ?&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n<p>Observe que dessa forma, ao utilizar a fun\u00e7\u00e3o print_t($arr), teremos como resultado impresso na tela Array ( [0] =&gt; 3 [1] =&gt; 6 [2] =&gt; 9 [3] =&gt; 12 ). Ou seja, conseguimos multiplicar o nossos valores iniciais da $arr por 3. Portanto, nossa $arr passa a ter novos valores, conforme o resultado acima.<br \/>\n<a name=\"top04\"><\/a><\/p>\n<h2>PHP Foreach: utilizando o valor da chave<\/h2>\n<p>Al\u00e9m da sintaxe b\u00e1sica, tamb\u00e9m possu\u00edmos outras formas de utilizar o PHP Foreach. Dentre elas, existe uma forma onde para cada valor do array, tamb\u00e9m podemos utilizar a chave dela para trabalhar o nosso c\u00f3digo. Para isso basta usar a seguinte sintaxe:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;?php  \n    foreach ($array as $key =&gt; $value) {\n        #codigo \n    }\n?&gt;<\/pre>\n<p>Dessa forma, vejamos o seguinte exemplo:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;!DOCTYPE html&gt; \n&lt;html&gt; \n&lt;head&gt; \n    &lt;meta charset=\"utf-8\"&gt; \n    &lt;title&gt;PHP Foreach utilizando $key&lt;\/title&gt; \n&lt;\/head&gt; \n&lt;body&gt;\n\n&lt;?php \n    $cores = array(\"Azul\",\"Amarelo\",\"Vermelho\",\"Rosa\",\"Verde\");\n    foreach ($cores as $key =&gt; $value) { \n        echo \"Minha cor no indice \".$key.\" \u00e9 \".$value.\"&lt;br\/&gt;\";\n    }\n?&gt;\n\n&lt;\/body&gt; \n&lt;\/html&gt;<\/pre>\n<p>Dessa forma, enquanto percorremos a array $cores, vamos tamb\u00e9m estar pegando o valor da sua chave. Consequentemente, vamos imprimir a mensagem utilizando a chave e tamb\u00e9m o valor de cada campo do array. Vejamos ent\u00e3o o resultado conforme a imagem abaixo:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-4556 aligncenter\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo02-1.jpg\" alt=\"PHP Foreach utilizando $key\" width=\"346\" height=\"274\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo02-1.jpg 346w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo02-1-300x238.jpg 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo02-1-1x1.jpg 1w\" sizes=\"(max-width: 346px) 100vw, 346px\" \/><\/p>\n<p>Portanto, agora que j\u00e1 entendemos como funciona, isso nos permite tamb\u00e9m trabalhar com arrays que possuam chaves personalizadas. Vejamos ent\u00e3o o seguinte exemplo:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;?php \n    $cores = array(\"chave01\"=&gt;\"Azul\",\"Amarelo\",\"Vermelho\");\n    foreach ($cores as $key =&gt; $value) { \n        echo  $key.\" =&gt; \".$value.\"&lt;br\/&gt;\";\n    }\n?&gt;<\/pre>\n<p>Observe que agora a nossa cor Azul possui uma chave personalizada. Portanto, o resultado do c\u00f3digo acima ser\u00e1 como na imagem abaixo:<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-4557 aligncenter\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo03-1.jpg\" alt=\"Exemplo utilizando chave personalizada\" width=\"316\" height=\"217\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo03-1.jpg 316w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo03-1-300x206.jpg 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo03-1-1x1.jpg 1w\" sizes=\"(max-width: 316px) 100vw, 316px\" \/><\/p>\n<p>Vejamos agora um segundo exemplo apenas contendo chaves personalizadas:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;?php \n    $arr = array(\n        \"nome\"=&gt;\"Roberto\",\n        \"sobrenome\"=&gt;\"Junior\",\n        \"idade\"=&gt; 23,);\n    foreach ($arr as $key =&gt; $value) { \n        echo  $key.\" =&gt; \".$value.\"&lt;br\/&gt;\";\n    }\n?&gt;<\/pre>\n<p>Dessa forma, teremos ent\u00e3o como resultado conforme a imagem abaixo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4558 aligncenter\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo04-1.jpg\" alt=\"Exemplo de PHP Foreach utilizando apenas chaves personalizadas\" width=\"313\" height=\"220\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo04-1.jpg 313w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo04-1-300x211.jpg 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo04-1-1x1.jpg 1w\" sizes=\"(max-width: 313px) 100vw, 313px\" \/><br \/>\n<a name=\"top05\"><\/a><\/p>\n<h2>Exemplo final: Criando uma tabela dinamicamente com o Foreach<\/h2>\n<p>Para finalizarmos, vamos utilizar um exemplo um pouco mais complexo. Recomendamos a leitura sobre arrays multidimensionais. Voc\u00ea pode estar lendo sobre na <a href=\"https:\/\/www.php.net\/manual\/pt_BR\/language.types.array.php\">documenta\u00e7\u00e3o Oficial<\/a> do PHP, no <a href=\"https:\/\/www.w3schools.com\/php\/php_arrays_multi.asp\">artigo da w3C Schools<\/a>, ou em outro manual de seu interesse.<\/p>\n<p>Neste exemplo vamos estar criando uma <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/tabela-html\/\">tabela<\/a> de forma din\u00e2mica, ou seja, um <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/o-que-e-html\/\">HTML<\/a> gerado atrav\u00e9s do PHP. Dessa forma vamos criar um foreach que para cada valor dentro dela ir\u00e1 criar uma linha, e dentro dele vamos incluir outra estrutura foreach, que para cada valor da array interna, ir\u00e1 criar uma c\u00e9dula\u00a0 e inclui-la na coluna. Portanto, vejamos o exemplo abaixo:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;!DOCTYPE html&gt; \n&lt;html&gt; \n&lt;head&gt; \n    &lt;meta charset=\"utf-8\"&gt; \n    &lt;title&gt;Tabela din\u00e2mica com PHP Foreach&lt;\/title&gt; \n&lt;\/head&gt; \n&lt;body&gt; \n&lt;table border=\"1\"&gt;\n    &lt;?php \n        $tabela = array\n          (\n            array(\"Nome\",\"Sobrenome\",\"Idade\"),\n            array(\"Rafael\",\"Filho\",\"25\"),\n            array(\"Lucas\",\"Junior\",\"32\"),\n            array(\"Maria\",\"Eduarda\",\"27\"),\n          );\n          foreach ($tabela as $key =&gt; $value) {\n            echo \"&lt;tr&gt;\";\n             foreach ($tabela[$key] as $cedula){\n                echo \"&lt;td&gt;\".$cedula.\"&lt;\/td&gt;\";\n             };\n             echo \"&lt;\/tr&gt;\";\n         }\n        \n    ?&gt;\n&lt;\/table&gt;     \n\n&lt;\/body&gt; \n&lt;\/html&gt;<\/pre>\n<p>Dessa forma, obtemos o seguinte resultado, conforme a imagem abaixo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4564 aligncenter\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo05-1.jpg\" alt=\"Exemplo Final para cria\u00e7\u00e3o de uma tabela din\u00e2micamente com estruturas de php ForEach\" width=\"315\" height=\"273\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo05-1.jpg 315w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo05-1-300x260.jpg 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo05-1-1x1.jpg 1w\" sizes=\"(max-width: 315px) 100vw, 315px\" \/><\/p>\n<p>Vamos tornar um pouco melhor o nosso exemplo. Vamos utilizar a estrutura da $key para fazer uma verifica\u00e7\u00e3o, se a $key possuir o valor 0, ent\u00e3o ao inv\u00e9s de <strong>&lt;td&gt;<\/strong>, teremos o valor <strong>&lt;th&gt;<\/strong>, portanto a tornando uma c\u00e9dula de t\u00edtulo. Manteremos a mesma estrutura do PHP Foreach. Voc\u00ea pode estar estudando mais sobre tabelas em <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/tabela-html\/\">nosso artigo sobre tabela HTML<\/a>. Para todos os demais valores, manteremos as configura\u00e7\u00f5es acima. Portanto, vamos utilizar uma estrutura de condicional se (<a href=\"https:\/\/www.php.net\/manual\/pt_BR\/control-structures.if.php\"><strong>if<\/strong><\/a>) e ent\u00e3o (<a href=\"https:\/\/www.php.net\/manual\/pt_BR\/control-structures.else.php\">else<\/a>).<\/p>\n<p>Dessa forma, teremos o seguinte c\u00f3digo:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;!DOCTYPE html&gt; \n&lt;html&gt; \n&lt;head&gt; \n    &lt;meta charset=\"utf-8\"&gt; \n    &lt;title&gt;Tabela din\u00e2mica com PHP Foreach&lt;\/title&gt; \n&lt;\/head&gt; \n&lt;body&gt; \n&lt;table border=\"1\"&gt;\n    &lt;?php \n        $tabela = array\n          (\n            array(\"Nome\",\"Sobrenome\",\"Idade\"),\n            array(\"Rafael\",\"Filho\",\"25\"),\n            array(\"Lucas\",\"Junior\",\"32\"),\n            array(\"Maria\",\"Eduarda\",\"27\"),\n          );\n          foreach ($tabela as $key =&gt; $value) { \n            if ($key==0) {\n                echo \"&lt;tr&gt;\";\n                 foreach ($tabela[$key] as $cedula){\n                    echo \"&lt;th&gt;\".$cedula.\"&lt;\/th&gt;\";\n                 };\n                 echo \"&lt;\/tr&gt;\";\n            }else{\n                echo \"&lt;tr&gt;\";\n                 foreach ($tabela[$key] as $cedula){\n                    echo \"&lt;td&gt;\".$cedula.\"&lt;\/td&gt;\";\n                 };\n                 echo \"&lt;\/tr&gt;\";\n             }\n        }\n    ?&gt;\n&lt;\/table&gt;     \n\n&lt;\/body&gt; \n&lt;\/html&gt;<\/pre>\n<p>Portanto, o resultado ser\u00e1 ent\u00e3o conforme a imagem abaixo, onde a primeira linha agora recebe o valor de c\u00e9dulas de t\u00edtulo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4565 size-full\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo06.jpg\" alt=\"Exemplo final: tabela html gerada dinamicamente\" width=\"313\" height=\"275\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo06.jpg 313w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo06-300x264.jpg 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/exemplo06-1x1.jpg 1w\" sizes=\"(max-width: 313px) 100vw, 313px\" \/><br \/>\n<a name=\"top06\"><\/a><\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Se voc\u00ea chegou at\u00e9 aqui, j\u00e1 percebeu ent\u00e3o a import\u00e2ncia do PHP Foreach, e como \u00e9 poss\u00edvel aplica-lo em diferentes situa\u00e7\u00f5es. Com nosso exemplo final, voc\u00ea j\u00e1 pode estar percebendo a possibilidade de criar uma tabela dinamicamente atrav\u00e9s tamb\u00e9m de <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/o-que-e-um-banco-de-dados\/\" target=\"_blank\" rel=\"noopener\">dados de um banco de dados<\/a>. Portanto, com isso, percebe-se o pode do PHP Foreach e o quanto sua utiliza\u00e7\u00e3o pode ser vers\u00e1til e tornar muita mais f\u00e1cil o nosso trabalho como desenvolvedor.<\/p>\n<p>Recomendamos tamb\u00e9m a leitura dos artigos <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/tabela-html\/\">Tabela HTML<\/a> e principalmente do nosso artigo <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/o-que-e-php\/\">sobre o que \u00e9<\/a> PHP. O Javascript tambem possui uma fun\u00e7\u00e3o <a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/foreach-javascript\/\">Javascript foreach<\/a> nativa.<\/p>\n<p>Com certeza, com a leitura destes artigos, voc\u00ea conseguir\u00e1 utilizar bem os padr\u00f5es estruturais do PHP Foreach, e criar suas pr\u00f3prias aplica\u00e7\u00f5es em <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/o-que-e-php\/\">PHP<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste artigo, vamos entender o que \u00e9 o PHP Foreach, uma forme da iterar sobre matrizes (arrays) que \u00e9 muito \u00fatil para esta linguagem de programa\u00e7\u00e3o. Portanto, veremos os seguintes t\u00f3picos: O que \u00e9 o PHP Foreach Alguns conceitos b\u00e1sicos Sintaxe B\u00e1sica do PHP Foreach PHP Foreach: utilizando o valor da chave Exemplo final: Criando [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":4551,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,4,229,20,6,164],"tags":[4274,21,179],"class_list":["post-4526","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-criar-sites","category-desenvolvedores","category-outros","category-php","category-tutoriais","category-wordpress-tutoriais","tag-foreach","tag-php","tag-versao-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays | Homehost<\/title>\n<meta name=\"description\" content=\"PHP Foreach: Entenda o que \u00e9 este la\u00e7o de repeti\u00e7\u00e3o que funciona apenas em matrizes (arrays) e \u00e9 muito \u00fatil para o desenvolvedor PHP.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays | Homehost\" \/>\n<meta property=\"og:description\" content=\"PHP Foreach: Entenda o que \u00e9 este la\u00e7o de repeti\u00e7\u00e3o que funciona apenas em matrizes (arrays) e \u00e9 muito \u00fatil para o desenvolvedor PHP.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-18T15:32:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-28T12:08:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1120\" \/>\n\t<meta property=\"og:image:height\" content=\"440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rafael Marques\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rafael Marques\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/\",\"name\":\"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg\",\"datePublished\":\"2019-09-18T15:32:03+00:00\",\"dateModified\":\"2023-07-28T12:08:18+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e\"},\"description\":\"PHP Foreach: Entenda o que \u00e9 este la\u00e7o de repeti\u00e7\u00e3o que funciona apenas em matrizes (arrays) e \u00e9 muito \u00fatil para o desenvolvedor PHP.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg\",\"width\":1120,\"height\":440,\"caption\":\"PHP Foreach\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e\",\"name\":\"Rafael Marques\",\"description\":\"Especialista em Desenvolvimento Web e Marketing. \u00c9 apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, al\u00e9m de atuar como Desenvolvedor Fullstack e redator t\u00e9cnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estima\u00e7\u00e3o. Contato: rafael.blog@homehost.com.br\",\"sameAs\":[\"https:\/\/www.instagram.com\/rafamarquesrmb\/\",\"https:\/\/www.linkedin.com\/in\/rafamarquesrmb\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays | Homehost","description":"PHP Foreach: Entenda o que \u00e9 este la\u00e7o de repeti\u00e7\u00e3o que funciona apenas em matrizes (arrays) e \u00e9 muito \u00fatil para o desenvolvedor PHP.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/","og_locale":"pt_BR","og_type":"article","og_title":"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays | Homehost","og_description":"PHP Foreach: Entenda o que \u00e9 este la\u00e7o de repeti\u00e7\u00e3o que funciona apenas em matrizes (arrays) e \u00e9 muito \u00fatil para o desenvolvedor PHP.","og_url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2019-09-18T15:32:03+00:00","article_modified_time":"2023-07-28T12:08:18+00:00","og_image":[{"width":1120,"height":440,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg","type":"image\/jpeg"}],"author":"Rafael Marques","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Rafael Marques","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/","url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/","name":"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg","datePublished":"2019-09-18T15:32:03+00:00","dateModified":"2023-07-28T12:08:18+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e"},"description":"PHP Foreach: Entenda o que \u00e9 este la\u00e7o de repeti\u00e7\u00e3o que funciona apenas em matrizes (arrays) e \u00e9 muito \u00fatil para o desenvolvedor PHP.","breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg","width":1120,"height":440,"caption":"PHP Foreach"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-foreach\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP Foreach: La\u00e7o de itera\u00e7\u00e3o em arrays"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e","name":"Rafael Marques","description":"Especialista em Desenvolvimento Web e Marketing. \u00c9 apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, al\u00e9m de atuar como Desenvolvedor Fullstack e redator t\u00e9cnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estima\u00e7\u00e3o. Contato: rafael.blog@homehost.com.br","sameAs":["https:\/\/www.instagram.com\/rafamarquesrmb\/","https:\/\/www.linkedin.com\/in\/rafamarquesrmb\/"]}]}},"modified_by":"ad_hmhst","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2019\/09\/Foreach.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/4526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4526"}],"version-history":[{"count":22,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/4526\/revisions"}],"predecessor-version":[{"id":10338,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/4526\/revisions\/10338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/4551"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}