{"id":16801,"date":"2022-10-22T05:25:06","date_gmt":"2022-10-21T23:55:06","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/"},"modified":"2022-10-22T05:25:06","modified_gmt":"2022-10-21T23:55:06","slug":"solved-switch-case-without-a-break-doesnt-check-the-cases-properly","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/","title":{"rendered":"[Solved] Switch\/Case without a `break`, doesn&#8217;t check the cases properly"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-34568511\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"34568511\" data-parentid=\"34568364\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Once <code>switch<\/code> finds a matching <code>case<\/code>, it just executes all the remaining code until it gets to a <code>break<\/code> statement. None of the following <code>case<\/code> expressions are tested, so you can&#8217;t have dependencies like this. To implement sub-cases, you should use nested <code>switch<\/code> or <code>if<\/code> statements.<\/p>\n<pre><code>switch ($category) {\ncase 'A':\n    $msg = 'hello';\n    if ($offer == 'special') {\n        $id = '123';\n    } elseif ($discount == '50D') {\n        $id = '999';\n    }\n    break;\n...\n}\necho $id;\n<\/code><\/pre>\n<p>The fallthrough feature of <code>case<\/code> without <code>break<\/code> is most often used when you have two cases that should do exactly the same thing. So the first one has an empty code with no break, and it just falls through.<\/p>\n<pre><code>switch ($val) {\ncase 'AAA':\ncase 'bbb':\n    \/\/ some code\n    break;\n...\n}\n<\/code><\/pre>\n<p>It can also be used when two cases are similar, but one of them needs some extra code run first:<\/p>\n<pre><code>switch ($val) {\ncase 'xxx':\n    echo 'xxx is obsolete, please switch to yyy';\ncase 'yyy':\n    \/\/ more code\n    break;\n...\n}\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">3<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Switch\/Case without a `break`, doesn&#8217;t check the cases properly <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Once switch finds a matching case, it just executes all the remaining code until it gets to a break statement. None of the following case expressions are tested, so you can&#8217;t have dependencies like this. To implement sub-cases, you should use nested switch or if statements. switch ($category) { case &#8216;A&#8217;: $msg = &#8216;hello&#8217;; &#8230; <a title=\"[Solved] Switch\/Case without a `break`, doesn&#8217;t check the cases properly\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/\" aria-label=\"More on [Solved] Switch\/Case without a `break`, doesn&#8217;t check the cases properly\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[339,893],"class_list":["post-16801","post","type-post","status-publish","format-standard","hentry","category-solved","tag-php","tag-switch-statement"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Switch\/Case without a `break`, doesn&#039;t check the cases properly - JassWeb<\/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:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Switch\/Case without a `break`, doesn&#039;t check the cases properly - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Once switch finds a matching case, it just executes all the remaining code until it gets to a break statement. None of the following case expressions are tested, so you can&#8217;t have dependencies like this. To implement sub-cases, you should use nested switch or if statements. switch ($category) { case &#039;A&#039;: $msg = &#039;hello&#039;; ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-21T23:55:06+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Switch\\\/Case without a `break`, doesn&#8217;t check the cases properly\",\"datePublished\":\"2022-10-21T23:55:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/\"},\"wordCount\":124,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"php\",\"switch-statement\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/\",\"name\":\"[Solved] Switch\\\/Case without a `break`, doesn't check the cases properly - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-10-21T23:55:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Switch\\\/Case without a `break`, doesn&#8217;t check the cases properly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Switch\/Case without a `break`, doesn't check the cases properly - JassWeb","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:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Switch\/Case without a `break`, doesn't check the cases properly - JassWeb","og_description":"[ad_1] Once switch finds a matching case, it just executes all the remaining code until it gets to a break statement. None of the following case expressions are tested, so you can&#8217;t have dependencies like this. To implement sub-cases, you should use nested switch or if statements. switch ($category) { case 'A': $msg = 'hello'; ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/","og_site_name":"JassWeb","article_published_time":"2022-10-21T23:55:06+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Switch\/Case without a `break`, doesn&#8217;t check the cases properly","datePublished":"2022-10-21T23:55:06+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/"},"wordCount":124,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["php","switch-statement"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/","url":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/","name":"[Solved] Switch\/Case without a `break`, doesn't check the cases properly - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-21T23:55:06+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-switch-case-without-a-break-doesnt-check-the-cases-properly\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Switch\/Case without a `break`, doesn&#8217;t check the cases properly"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/16801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=16801"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/16801\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=16801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=16801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=16801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}