
{"id":339,"date":"2018-01-18T16:08:48","date_gmt":"2018-01-18T18:08:48","guid":{"rendered":"http:\/\/eliezerladeira.com.br\/blog\/?p=339"},"modified":"2018-08-30T22:18:18","modified_gmt":"2018-08-31T01:18:18","slug":"variaveis-variaveis","status":"publish","type":"post","link":"https:\/\/eliezerladeira.com.br\/blog\/variaveis-variaveis\/","title":{"rendered":"Vari\u00e1veis Vari\u00e1veis"},"content":{"rendered":"<p>[ratings]<\/p>\n<p>Neste post mostrarei uma r\u00e1pida maneira de como criar sisteminhas que geram automa\u00a0automaticamente combos de HTML e como us\u00e1-los de maneira produtiva para uma exclus\u00e3o, por exemplo.<\/p>\n<p>Para se fazer isso, usa-se o conceito de uma vari\u00e1vel que n\u00e3o somente cont\u00e9m um valor que h\u00e1 distin\u00e7\u00e3o, que \u00e9 o conceito de vari\u00e1vel, mas tamb\u00e9m o seu pr\u00f3prio nome, ao que chamamos de &#8220;vari\u00e1veis vari\u00e1veis&#8221;.<\/p>\n<p>Detalhe: n\u00e3o errei o nome e escrevi duas vezes n\u00e3o. Por isso coloquei entre aspas.<\/p>\n<p>Qual \u00e9 o conceito ?<\/p>\n<p>Voc\u00ea pode usar, al\u00e9m da vari\u00e1vel propriamente dita, o conte\u00fado dela como nome para fazer uma nova atribui\u00e7\u00e3o.<\/p>\n<p>Exemplo da PHP.net<\/p>\n<pre>&lt;?php\r\n $a = \"ola\";\r\n $$a = \"mundo\";\r\n?&gt;\r\n<\/pre>\n<p>Neste exemplo existem duas vari\u00e1veis, que s\u00e3o $a contendo a palavra ola e $$a que \u00e9 a &#8220;vari\u00e1vel vari\u00e1vel&#8221;\u00a0contendo o &#8220;mundo&#8221;.<\/p>\n<p>Uma das representa\u00e7\u00f5es disso \u00e9:<\/p>\n<pre>&lt;?\r\n echo \"$a ${$a}\";\r\n?&gt;\r\n<\/pre>\n<p>Num exemplo pr\u00e1tico pode ser feito algo como:<\/p>\n<pre>&lt;?php \r\n ...\r\n $valor = \"algo_$x\";\r\n e $$valor iria conter o que n\u00f3s queremos..\r\n ...\r\n?&gt;\r\n<\/pre>\n<p>Voc\u00ea ir\u00e1 entender o exemplo acima quando come\u00e7armos o nosso exemplo.<\/p>\n<p>Vamos seguir sempre o conceito e tentar implementar. Temos ent\u00e3o essa por\u00e7\u00e3o de c\u00f3digo:<\/p>\n<pre>&lt;?php\r\n for ($x=0;$x&lt;10;$x++)\r\n {\r\n  echo \"&lt;input type=checkbox name=\\\"ck_$x\\\" value=\\\"OK\\\"&gt; Texto Aqui&lt;BR&gt;\\n\";\r\n }\r\n?&gt;\r\n<\/pre>\n<p>Fizemos um for muito peculiar em sistemas, onde &#8220;printamos&#8221; na tela o valor retornado do banco de dados e queremos gerar nossos checkbox dinamicamente.<\/p>\n<p>Notem que o value \u00e9 sempre o mesmo, e o nome h\u00e1 um fator diferenciado-os que \u00e9 exatamente o conceito de vari\u00e1vel vari\u00e1vel. Cada nome do formul\u00e1rio \u00e9 uma vari\u00e1vel no PHP e logo estes nomes todos se diferenciam por um c\u00f3digo auto incrementado.<\/p>\n<p>Ent\u00e3o vamos continuar.<\/p>\n<p>O exemplo completo fica:<\/p>\n<pre>&lt;?php\r\n  if ($_POST[\"send\"]) {\r\n    \/\/ aqui entra todo o conceito..\r\n    for ($x=0;$x&lt;10;$x++) {\r\n      $valor = \"ck_$x\";\r\n      if ($$valor == \"OK\") {\r\n        echo \"O id $x foi selecionado!&lt;BR&gt;\\n\";\r\n      }\r\n    }\r\n  }\r\n?&gt;\r\n\r\n&lt;html&gt;\r\n  &lt;form name=\"legal\" method=\"POST\"&gt;\r\n    &lt;input type=\"hidden\" name=\"send\" value=\"anything\"&gt;\r\n    &lt;?php\r\n      for ($x=0;$x&lt;10;$x++)\r\n      {\r\n        echo \"&lt;input type=\\\"checkbox\\\" name=\\\"ck_$x\\\" value=\\\"OK\\\"&gt; Texto Aqui&lt;BR&gt;\\n\";\r\n      }\r\n    ?&gt;\r\n    &lt;input type=\"submit\" value=\"go !\" name=\"enviar\"&gt;\r\n  &lt;\/form&gt;\r\n&lt;\/html&gt;\r\n&lt;?}?&gt;\r\n<\/pre>\n<p>A primeira m\u00e1 not\u00edcia \u00e9 que este script vai funcionar somente quando a register_globals estiver habilitada, e a segunda \u00e9 que n\u00e3o tem como usar algo como ${$_GET} ${$_POST} e assim por diante.<\/p>\n<p>Aqui vai uma dica de como trabalhar com isso com a register_globals do php.ini setada como off:$a = &amp;$_GET[&#8220;foo&#8221;];<\/p>\n<p>E ent\u00e3o $$a iria conter o conte\u00fado do vetor por refer\u00eancia e provavelmente com isso d\u00ea para trabalhar com a register_globals setada como off.<\/p>\n<p>N\u00e3o vou fazer um script completo para deixar a imagina\u00e7\u00e3o de cada um fluir e termos aqui bons exemplos de como melhorar a id\u00e9ia proposta acima.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ratings] Neste post mostrarei uma r\u00e1pida maneira de como criar sisteminhas que geram automa\u00a0automaticamente combos de HTML e como us\u00e1-los<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[15],"tags":[82,51],"class_list":["post-339","post","type-post","status-publish","format-standard","hentry","category-informatica","tag-php","tag-programacao"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":317,"url":"https:\/\/eliezerladeira.com.br\/blog\/manipulacao-de-dados-via-php-firebird\/","url_meta":{"origin":339,"position":0},"title":"Manipula\u00e7\u00e3o de dados via PHP + Firebird","author":"admin","date":"","format":false,"excerpt":"[ratings] O PHP\u00a0\u00e9 uma linguagem com suporte nativo a diversos bancos de dados. Como estamos trabalhando com InterBase\/Firebird, segue um exemplo pr\u00e1tico de como a coisa funciona. Este exemplo foi testado com um servidor Windows 2000 e Firebird 1.0. A princ\u00edpio\u00a0voc\u00ea ter\u00e1 que ter instalado em seu computador o servidor\u2026","rel":"","context":"Em &quot;Inform\u00e1tica&quot;","block_context":{"text":"Inform\u00e1tica","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/informatica\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":312,"url":"https:\/\/eliezerladeira.com.br\/blog\/iniciando-com-php-e-interbase\/","url_meta":{"origin":339,"position":1},"title":"Iniciando com PHP e InterBase","author":"admin","date":"","format":false,"excerpt":"[ratings] O InterBase existe desde meados de 1980. Depois de v\u00e1rios anos na estrada, ele se tornou Open Source pela Borland em Julho de 2000. A vers\u00e3o que vou utilizar \u00e9 a 6.01 (= 6.0 + patch de seguran\u00e7a). Ela roda no Linux, v\u00e1rios derivados de Unix e no Windows.\u2026","rel":"","context":"Em &quot;Inform\u00e1tica&quot;","block_context":{"text":"Inform\u00e1tica","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/informatica\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3594,"url":"https:\/\/eliezerladeira.com.br\/blog\/ado-localizando-informacoes\/","url_meta":{"origin":339,"position":2},"title":"ADO \u2013 Localizando\u00a0informa\u00e7\u00f5es","author":"admin","date":"","format":false,"excerpt":"Quando falamos a n\u00edvel de dados (campos e registros), estamos tratando com o objeto\u00a0Recordset. Vamos mostrar como encontrar dados espec\u00edficos em um\u00a0Recordset ADO. Lembrando que um objeto\u00a0Recordset\u00a0possui muitas fun\u00e7\u00f5es \u00fateis. Entre elas podemos citar as mais usadas:\u00a0Bookmark, Find, Seek, Filter. Usando Bookmarks (marcadores) Um bookmark de um recordset \u00e9 como\u2026","rel":"","context":"Em &quot;Programa\u00e7\u00e3o&quot;","block_context":{"text":"Programa\u00e7\u00e3o","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/programacao\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2010\/02\/ado_sek3.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2783,"url":"https:\/\/eliezerladeira.com.br\/blog\/como-criar-um-widget\/","url_meta":{"origin":339,"position":3},"title":"Como criar um\u00a0widget","author":"admin","date":"","format":false,"excerpt":"Produza seu pr\u00f3prio widget\u00a0e exporte seu feed RSS para outros sites e blogs. Os widgets\u00a0est\u00e3o no auge de sua popularidade. Com eles \u00e9 poss\u00edvel adicionar not\u00edcias, miniaplicativos, joguinhos e outros trecos digitais a qualquer blog ou site pessoal. Parece complicado de fazer, mas, em termos de programa\u00e7\u00e3o, um widget \u00e9\u2026","rel":"","context":"Em &quot;Programa\u00e7\u00e3o&quot;","block_context":{"text":"Programa\u00e7\u00e3o","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/programacao\/"},"img":{"alt_text":"266_widget2","src":"https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2009\/01\/266_widget2.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1942,"url":"https:\/\/eliezerladeira.com.br\/blog\/a-mais-valia-de-karl-marx\/","url_meta":{"origin":339,"position":4},"title":"A Mais Valia de Karl Marx","author":"admin","date":"","format":false,"excerpt":"O que \u00e9 o conceito \"mais valia\"? Quais os seus tipos? Aliena\u00e7\u00e3o?","rel":"","context":"Em &quot;Sociologia&quot;","block_context":{"text":"Sociologia","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/disciplinas\/sociologia\/"},"img":{"alt_text":"mais valia","src":"https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2020\/04\/mais-valia.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2020\/04\/mais-valia.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2020\/04\/mais-valia.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2020\/04\/mais-valia.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1527,"url":"https:\/\/eliezerladeira.com.br\/blog\/o-que-sao-commodities\/","url_meta":{"origin":339,"position":5},"title":"O que s\u00e3o Commodities?","author":"admin","date":"","format":false,"excerpt":"As commodities s\u00e3o mercadorias em estado bruto ou de simples industrializa\u00e7\u00e3o negociadas em escala mundial.\u00a0A comercializa\u00e7\u00e3o \u00e9 estabelecida no\u00a0mercado financeiro com pre\u00e7os normalmente em d\u00f3lar e\u00a0que\u00a0oscilam de acordo com a oferta e a demanda internacionais. Na\u00a0maioria das vezes, as commodities s\u00e3o constitu\u00eddas de recursos naturais\u00a0e t\u00eam a produ\u00e7\u00e3o e consumo\u2026","rel":"","context":"Em &quot;Economia &amp; Carreira&quot;","block_context":{"text":"Economia &amp; Carreira","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/economia-carreira\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2018\/09\/commodities.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2018\/09\/commodities.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2018\/09\/commodities.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2018\/09\/commodities.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/comments?post=339"}],"version-history":[{"count":1,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/339\/revisions"}],"predecessor-version":[{"id":340,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/339\/revisions\/340"}],"wp:attachment":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/media?parent=339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/categories?post=339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/tags?post=339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}