{"id":183,"date":"2020-12-31T00:52:17","date_gmt":"2020-12-31T00:52:17","guid":{"rendered":"http:\/\/jplatz.com.br\/syntax\/?p=183"},"modified":"2020-12-31T00:55:43","modified_gmt":"2020-12-31T00:55:43","slug":"php-array-walk-sanitizar-objeto-de-forma-recursiva","status":"publish","type":"post","link":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/","title":{"rendered":"PHP Array Walk Sanitizar Objeto de forma recursiva"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>function sanitizeObject($object): void {\n  array_walk($object, function($value, $key) use($object) {\n    if (is_object($value) || is_array($value)) {\n      self::sanitizeObject($value);\n    }\n\n    if ($value === null\n        || (is_string($value) &amp;&amp; empty($value))\n        || (is_array($value) &amp;&amp; !$value)\n        || (is_object($value) &amp;&amp; !(array)$value)\n    ) {\n      unset($object->{$key});\n    }\n  });\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bom pessoal, ao inv\u00e9s de explicar o que este c\u00f3digo faz vou tentar explicar qual era o problema que eu tinha de resolver, acho que dessa forma o artigo far\u00e1 mais sentido pra quem estiver lendo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eu estava trabalhando numa integra\u00e7\u00e3o entre sistemas e a API que recebia as informa\u00e7\u00f5es era bastante sens\u00edvel quanto ao conte\u00fado da request. Por exemplo, o comportamento da API poderia variar muito entre eu enviar uma propriedade com conte\u00fado NULL ou ent\u00e3o com a propriedade com conte\u00fado vazio. Em ambos os casos o melhor cen\u00e1rio seria n\u00e3o enviar a propriedade na request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J\u00e1 no in\u00edcio recebi uma dica de usar o array_filter para eliminar as propriedades nulas ou vazias, como este c\u00f3digo aqui por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function clearNullFields($metadata) {\n  return (object)array_filter((array)$metadata, static function ($value) {\n    return !(null === $value || trim($value) === '');\n  });\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O array_filter at\u00e9 poderia resolver a quest\u00e3o, isso se o objeto tivesse um \u00fanico n\u00edvel. Mas n\u00e3o era esse o caso, uma request de API normalmente \u00e9 composta por v\u00e1rios outros objetos em m\u00faltiplos n\u00edveis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depois de pesquisar um pouco me deparei com um artigo onde a solu\u00e7\u00e3o era dada por um array_walk. Bingo!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bastou esta centelha e um pouco de criatividade para adicionar a recursividade fazendo com que todas as propriedades nulas ou vazias fossem sistematicamente removidas com <strong>unset<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At\u00e9 mesmo um objeto mais interno cujas propriedades eram todas nulas ou vazias acabou sendo completamente removido. Isto porque a recursividade resolve as remo\u00e7\u00f5es do n\u00edvel mais baixo para o nivel mais alto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assim ap\u00f3s remover todas as propriedades escalares de um objeto, ele mesmo ser\u00e1 um objeto vazio. Consequentemente ao retornar da recursividade inferior o objeto estar\u00e1 vazio e ser\u00e1 removido exatamente por este motivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas um aviso importante!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O array_walk opera sobre o objeto fornecido alterando suas caracter\u00edsticas originais. Assim para n\u00e3o comprometer nenhum processo que utilizasse o objeto original a solu\u00e7\u00e3o foi criar um objeto totalmente novo para ser sanitizado. Como?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$sanitize = \\json_decode(\\json_encode($original));\nsanitizeObject($sanitize);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Fant\u00e1stico, funciona melhor do que o programado!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bom pessoal, ao inv\u00e9s de explicar o que este c\u00f3digo faz vou tentar explicar qual era o problema que eu tinha de resolver, acho que dessa forma o artigo far\u00e1 mais sentido pra quem estiver lendo. Eu estava trabalhando numa integra\u00e7\u00e3o entre sistemas e a API que recebia as informa\u00e7\u00f5es era bastante sens\u00edvel quanto ao [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,2,3],"tags":[85,84,83,87],"class_list":["post-183","post","type-post","status-publish","format-standard","hentry","category-backend","category-coding","category-php","tag-array_filter","tag-array_walk","tag-oop","tag-recursive"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"marcelino.janing\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Syntax | Comes first for Web Devs\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-12-31T00:52:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-12-31T00:55:43+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#article\",\"name\":\"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax\",\"headline\":\"PHP Array Walk Sanitizar Objeto de forma recursiva\",\"author\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/author\\\/marcelino-janing\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/#organization\"},\"datePublished\":\"2020-12-31T00:52:17+00:00\",\"dateModified\":\"2020-12-31T00:55:43+00:00\",\"inLanguage\":\"pt-PT\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#webpage\"},\"articleSection\":\"Backend, Coding, PHP, array_filter, array_walk, OOP, recursive, marcelino.janing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/#listItem\",\"name\":\"Coding\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/#listItem\",\"position\":2,\"name\":\"Coding\",\"item\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/#listItem\",\"name\":\"Backend\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/#listItem\",\"position\":3,\"name\":\"Backend\",\"item\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/php\\\/#listItem\",\"name\":\"PHP\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/#listItem\",\"name\":\"Coding\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/php\\\/#listItem\",\"position\":4,\"name\":\"PHP\",\"item\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/php\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#listItem\",\"name\":\"PHP Array Walk Sanitizar Objeto de forma recursiva\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/#listItem\",\"name\":\"Backend\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#listItem\",\"position\":5,\"name\":\"PHP Array Walk Sanitizar Objeto de forma recursiva\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/category\\\/coding\\\/backend\\\/php\\\/#listItem\",\"name\":\"PHP\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/#organization\",\"name\":\"Syntax\",\"description\":\"Comes first for Web Devs\",\"url\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/author\\\/marcelino-janing\\\/#author\",\"url\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/author\\\/marcelino-janing\\\/\",\"name\":\"marcelino.janing\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5dd32776da0a84839d569b69e3b7cf4532b641a1310d9921a14ca10469679b7?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"marcelino.janing\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#webpage\",\"url\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/\",\"name\":\"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax\",\"inLanguage\":\"pt-PT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/2020\\\/12\\\/31\\\/php-array-walk-sanitizar-objeto-de-forma-recursiva\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/author\\\/marcelino-janing\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/author\\\/marcelino-janing\\\/#author\"},\"datePublished\":\"2020-12-31T00:52:17+00:00\",\"dateModified\":\"2020-12-31T00:55:43+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/#website\",\"url\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/\",\"name\":\"Syntax\",\"description\":\"Comes first for Web Devs\",\"inLanguage\":\"pt-PT\",\"publisher\":{\"@id\":\"https:\\\/\\\/jplatz.com.br\\\/syntax\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax","description":"","canonical_url":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#article","name":"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax","headline":"PHP Array Walk Sanitizar Objeto de forma recursiva","author":{"@id":"https:\/\/jplatz.com.br\/syntax\/author\/marcelino-janing\/#author"},"publisher":{"@id":"https:\/\/jplatz.com.br\/syntax\/#organization"},"datePublished":"2020-12-31T00:52:17+00:00","dateModified":"2020-12-31T00:55:43+00:00","inLanguage":"pt-PT","mainEntityOfPage":{"@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#webpage"},"isPartOf":{"@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#webpage"},"articleSection":"Backend, Coding, PHP, array_filter, array_walk, OOP, recursive, marcelino.janing"},{"@type":"BreadcrumbList","@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax#listItem","position":1,"name":"Home","item":"https:\/\/jplatz.com.br\/syntax","nextItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/#listItem","name":"Coding"}},{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/#listItem","position":2,"name":"Coding","item":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/#listItem","name":"Backend"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/#listItem","position":3,"name":"Backend","item":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/php\/#listItem","name":"PHP"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/#listItem","name":"Coding"}},{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/php\/#listItem","position":4,"name":"PHP","item":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/php\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#listItem","name":"PHP Array Walk Sanitizar Objeto de forma recursiva"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/#listItem","name":"Backend"}},{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#listItem","position":5,"name":"PHP Array Walk Sanitizar Objeto de forma recursiva","previousItem":{"@type":"ListItem","@id":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/php\/#listItem","name":"PHP"}}]},{"@type":"Organization","@id":"https:\/\/jplatz.com.br\/syntax\/#organization","name":"Syntax","description":"Comes first for Web Devs","url":"https:\/\/jplatz.com.br\/syntax\/"},{"@type":"Person","@id":"https:\/\/jplatz.com.br\/syntax\/author\/marcelino-janing\/#author","url":"https:\/\/jplatz.com.br\/syntax\/author\/marcelino-janing\/","name":"marcelino.janing","image":{"@type":"ImageObject","@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/c5dd32776da0a84839d569b69e3b7cf4532b641a1310d9921a14ca10469679b7?s=96&d=mm&r=g","width":96,"height":96,"caption":"marcelino.janing"}},{"@type":"WebPage","@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#webpage","url":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/","name":"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax","inLanguage":"pt-PT","isPartOf":{"@id":"https:\/\/jplatz.com.br\/syntax\/#website"},"breadcrumb":{"@id":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/#breadcrumblist"},"author":{"@id":"https:\/\/jplatz.com.br\/syntax\/author\/marcelino-janing\/#author"},"creator":{"@id":"https:\/\/jplatz.com.br\/syntax\/author\/marcelino-janing\/#author"},"datePublished":"2020-12-31T00:52:17+00:00","dateModified":"2020-12-31T00:55:43+00:00"},{"@type":"WebSite","@id":"https:\/\/jplatz.com.br\/syntax\/#website","url":"https:\/\/jplatz.com.br\/syntax\/","name":"Syntax","description":"Comes first for Web Devs","inLanguage":"pt-PT","publisher":{"@id":"https:\/\/jplatz.com.br\/syntax\/#organization"}}]},"og:locale":"pt_PT","og:site_name":"Syntax | Comes first for Web Devs","og:type":"article","og:title":"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax","og:url":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/","article:published_time":"2020-12-31T00:52:17+00:00","article:modified_time":"2020-12-31T00:55:43+00:00","twitter:card":"summary","twitter:title":"PHP Array Walk Sanitizar Objeto de forma recursiva | Syntax"},"aioseo_meta_data":{"post_id":"183","title":null,"description":null,"keywords":[],"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"none","schema_type_options":"{\"webPage\":{\"webPageType\":\"WebPage\"},\"article\":{\"articleType\":\"BlogPosting\"},\"book\":[],\"course\":[],\"event\":[],\"jobPosting\":[],\"music\":[],\"person\":[],\"product\":[],\"recipe\":[],\"restaurant\":[],\"service\":[],\"software\":[],\"video\":[]}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":{"businessInfo":{"name":"","urls":{"website":"","aboutPage":"","contactPage":""},"address":{"line1":"","line2":"","zip":"","city":"","state":"","country":""},"contact":{"email":"","phone":"","fax":""},"ids":{"vatID":"","taxID":"","chamberID":""},"payment":{"priceIndication":"","currenciesAccepted":"","methodsAccepted":""},"areaServed":""},"openingHours":{"show":false,"closedLabel":"","open24h":false,"open24hLabel":"","open247":false,"use24hFormat":false,"twoSets":false,"timezone":"","hours":[]}},"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-31 00:15:58","updated":"2025-06-04 07:01:00","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jplatz.com.br\/syntax\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jplatz.com.br\/syntax\/category\/coding\/\" title=\"Coding\">Coding<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/\" title=\"Backend\">Backend<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/php\/\" title=\"PHP\">PHP<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPHP Array Walk Sanitizar Objeto de forma recursiva\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jplatz.com.br\/syntax"},{"label":"Coding","link":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/"},{"label":"Backend","link":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/"},{"label":"PHP","link":"https:\/\/jplatz.com.br\/syntax\/category\/coding\/backend\/php\/"},{"label":"PHP Array Walk Sanitizar Objeto de forma recursiva","link":"https:\/\/jplatz.com.br\/syntax\/2020\/12\/31\/php-array-walk-sanitizar-objeto-de-forma-recursiva\/"}],"_links":{"self":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":2,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":186,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/183\/revisions\/186"}],"wp:attachment":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}