{"id":40,"date":"2009-03-09T18:59:00","date_gmt":"2009-03-09T18:59:00","guid":{"rendered":"http:\/\/www.olivierdoucet.info\/wordpress\/?p=40"},"modified":"2009-03-09T18:59:00","modified_gmt":"2009-03-09T18:59:00","slug":"in_array-et-le-mode-strict","status":"publish","type":"post","link":"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/","title":{"rendered":"in_array et le mode strict"},"content":{"rendered":"<p>[La fonction in_array|http:\/\/fr.php.net\/in_array|fr] peut avoir un comportement tout \u00e0 fait \u00e9trange lorsqu&rsquo;on utilise la syntaxe par d\u00e9faut, qui fait une v\u00e9rification non stricte : @@var_dump(in_array(&lsquo;mouhahaha&rsquo;,array(0,1,2))); \/\/ bool(true)@@%%% Et oui, mon texte est dans ce tableau d&rsquo;apr\u00e8s PHP. Etonnant, non ? Tout simplement parce que PHP va essayer de convertir (cast) les types avant de les comparer. Ma cha\u00eene de caract\u00e8re, \u00e0 un moment, vaut &lsquo;true&rsquo; et mon 1 vaut &lsquo;true&rsquo; aussi, d&rsquo;o\u00f9 l&rsquo;\u00e9galit\u00e9.%%% Par contre, si on met les nombres entre quotes comme ceci : @@var_dump(in_array(&lsquo;mouhahaha&rsquo;,array(&lsquo;0&prime;,&rsquo;1&prime;,&rsquo;2&rsquo;))); \/\/ bool(false)@@%%% Car les chaines \u00e9tant de m\u00eame type (string), aucun cast n&rsquo;a lieu. Pour \u00e9viter les effets de bords et autres mauvaises surprises, utilisez le mode strict qui va \u00e9galement comparer le type de la variable. Pour cela, ajouter un 3e argument \u00e0 in_array comme ceci : %%% @@var_dump(in_array(&lsquo;mouhahaha&rsquo;,array(0,1,2), true)); \/\/ bool(false)@@<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[La fonction in_array|http:\/\/fr.php.net\/in_array|fr] peut avoir un comportement tout \u00e0 fait \u00e9trange lorsqu&rsquo;on utilise la syntaxe par d\u00e9faut, qui fait une v\u00e9rification non stricte : @@var_dump(in_array(&lsquo;mouhahaha&rsquo;,array(0,1,2))); \/\/ bool(true)@@%%% Et oui, mon texte est dans ce tableau d&rsquo;apr\u00e8s PHP. Etonnant, non ? Tout simplement parce que PHP va essayer de convertir (cast) les types avant de les &hellip; <a href=\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">in_array et le mode strict<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[29],"class_list":["post-40","post","type-post","status-publish","format-standard","hentry","category-php-sql","tag-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>in_array et le mode strict - My thoughts<\/title>\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.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"in_array et le mode strict - My thoughts\" \/>\n<meta property=\"og:description\" content=\"[La fonction in_array|http:\/\/fr.php.net\/in_array|fr] peut avoir un comportement tout \u00e0 fait \u00e9trange lorsqu&rsquo;on utilise la syntaxe par d\u00e9faut, qui fait une v\u00e9rification non stricte : @@var_dump(in_array(&lsquo;mouhahaha&rsquo;,array(0,1,2))); \/\/ bool(true)@@%%% Et oui, mon texte est dans ce tableau d&rsquo;apr\u00e8s PHP. Etonnant, non ? Tout simplement parce que PHP va essayer de convertir (cast) les types avant de les &hellip; Continuer la lecture de in_array et le mode strict &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/\" \/>\n<meta property=\"og:site_name\" content=\"My thoughts\" \/>\n<meta property=\"article:published_time\" content=\"2009-03-09T18:59:00+00:00\" \/>\n<meta name=\"author\" content=\"olivier\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@odoucet\" \/>\n<meta name=\"twitter:site\" content=\"@odoucet\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"olivier\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/\",\"url\":\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/\",\"name\":\"in_array et le mode strict - My thoughts\",\"isPartOf\":{\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/#website\"},\"datePublished\":\"2009-03-09T18:59:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/#\/schema\/person\/2a02230ae6aeac086b3379e5853c6f96\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.olivierdoucet.info\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"in_array et le mode strict\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/#website\",\"url\":\"https:\/\/www.olivierdoucet.info\/blog\/\",\"name\":\"My thoughts\",\"description\":\"En fran\u00e7ais and in english :)\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.olivierdoucet.info\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/#\/schema\/person\/2a02230ae6aeac086b3379e5853c6f96\",\"name\":\"olivier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.olivierdoucet.info\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/febd16d726b2266a512e951d03424de3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/febd16d726b2266a512e951d03424de3?s=96&d=mm&r=g\",\"caption\":\"olivier\"},\"sameAs\":[\"http:\/\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"in_array et le mode strict - My thoughts","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.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/","og_locale":"fr_FR","og_type":"article","og_title":"in_array et le mode strict - My thoughts","og_description":"[La fonction in_array|http:\/\/fr.php.net\/in_array|fr] peut avoir un comportement tout \u00e0 fait \u00e9trange lorsqu&rsquo;on utilise la syntaxe par d\u00e9faut, qui fait une v\u00e9rification non stricte : @@var_dump(in_array(&lsquo;mouhahaha&rsquo;,array(0,1,2))); \/\/ bool(true)@@%%% Et oui, mon texte est dans ce tableau d&rsquo;apr\u00e8s PHP. Etonnant, non ? Tout simplement parce que PHP va essayer de convertir (cast) les types avant de les &hellip; Continuer la lecture de in_array et le mode strict &rarr;","og_url":"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/","og_site_name":"My thoughts","article_published_time":"2009-03-09T18:59:00+00:00","author":"olivier","twitter_card":"summary_large_image","twitter_creator":"@odoucet","twitter_site":"@odoucet","twitter_misc":{"\u00c9crit par":"olivier","Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/","url":"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/","name":"in_array et le mode strict - My thoughts","isPartOf":{"@id":"https:\/\/www.olivierdoucet.info\/blog\/#website"},"datePublished":"2009-03-09T18:59:00+00:00","author":{"@id":"https:\/\/www.olivierdoucet.info\/blog\/#\/schema\/person\/2a02230ae6aeac086b3379e5853c6f96"},"breadcrumb":{"@id":"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.olivierdoucet.info\/blog\/2009\/03\/09\/in_array-et-le-mode-strict\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.olivierdoucet.info\/blog\/"},{"@type":"ListItem","position":2,"name":"in_array et le mode strict"}]},{"@type":"WebSite","@id":"https:\/\/www.olivierdoucet.info\/blog\/#website","url":"https:\/\/www.olivierdoucet.info\/blog\/","name":"My thoughts","description":"En fran\u00e7ais and in english :)","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.olivierdoucet.info\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.olivierdoucet.info\/blog\/#\/schema\/person\/2a02230ae6aeac086b3379e5853c6f96","name":"olivier","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.olivierdoucet.info\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/febd16d726b2266a512e951d03424de3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/febd16d726b2266a512e951d03424de3?s=96&d=mm&r=g","caption":"olivier"},"sameAs":["http:\/\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/posts\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":0,"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/posts\/40\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/media?parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/categories?post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.olivierdoucet.info\/blog\/wp-json\/wp\/v2\/tags?post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}