在PHP中,我可以在switch语句中获得case语句的总数吗?

3 php case count switch-statement

有没有办法在switch语句中返回(case)实例的总数?像这样的东西:

$id = $_GET['id'];

switch ($id) {
  case "item1" :
  $data = 'something1';
  break;

  case "item2" :
  $data = 'something2';
  break;
}

echo $data;
Run Code Online (Sandbox Code Playgroud)

但其原因是它们中有多个带有这些switch语句的文件,但它们的数量因文件而异.理想情况下,我希望能够通过递增"id"来遍历这些switch语句.关于这是否可行的任何想法?

Gum*_*mbo 7

如果您只是根据其他值分配值,则可以使用数组:

$idToData = array(
    'item1' => 'something1',
    'item2' => 'something2',
);
$data = 'default';
if (isset($_GET['id']) && array_key_exists($_GET['id'], $idToData)) {
    $data = $idToData[$_GET['id']];
}
echo $data;
Run Code Online (Sandbox Code Playgroud)

数组的优点是可以扩展它,并且可以计算项目数count()