|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-06-16 13:54 UTC] mike@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 22 11:00:01 2025 UTC |
Description: ------------ When using a variable og type String, the switch structure behaives odd. Reproduce code: --------------- <?php $modes = array("byId", "byName", "asSelect", "", null, "as", "Id", "Name", "Select"); print "<pre>"; print_r($modes); print "</pre>"; foreach($modes as $mode) { print $mode; switch($mode) { case "case1": print "<div>case1 => uses ".$mode."</div>"; break; case "case2" || "case3": print "<div>case2 or case3 => uses ".$mode."</div>"; break; default: print "<div>default => cannot use ".$mode."</div>"; } } ?> Expected result: ---------------- Array ( [0] => byId [1] => byName [2] => asSelect [3] => [4] => [5] => as [6] => Id [7] => Name [8] => Select ) byId default => cannot use byName default => cannot use asSelect default => cannot use ("" and null) default => cannot use default => cannot use as default => cannot use Id default => cannot use Name default => cannot use Select default => cannot use Actual result: -------------- Array ( [0] => byId [1] => byName [2] => asSelect [3] => [4] => [5] => as [6] => Id [7] => Name [8] => Select ) byId case2 or case3 => uses byId byName case2 or case3 => uses byName asSelect case2 or case3 => uses asSelect default => cannot use default => cannot use as case2 or case3 => uses as Id case2 or case3 => uses Id Name case2 or case3 => uses Name Select case2 or case3 => uses Select