Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组中的值用作开关大小写键_Php_Switch Statement - Fatal编程技术网

Php 将数组中的值用作开关大小写键

Php 将数组中的值用作开关大小写键,php,switch-statement,Php,Switch Statement,我正在开发一个应用程序,我被卡住了 我想在switch内部执行foreach如下操作: <?PHP $gtid = $_GET['id']; // ID(key) => value $dbs = array( "ZTI10" => "Example1", "O1JTQ" => "Example2", "4V1OR" => "Example3" ); switch($gtid){ foreach ($dbs as $key => $

我正在开发一个应用程序,我被卡住了

我想在
switch
内部执行
foreach
如下操作:

<?PHP
$gtid = $_GET['id'];
// ID(key) => value
$dbs  = array(
    "ZTI10" => "Example1",
    "O1JTQ" => "Example2",
    "4V1OR" => "Example3"
);

switch($gtid){

foreach ($dbs as $key => $value) {

    case $key:
        echo "On ID $key is $value";
        break;

  }
}
?>

这可能吗?或者有没有其他方法来满足我的要求


提前谢谢。

不,你不能那样做。在
foreach
循环中使用一个简单的
if
语句:

foreach ($dbs as $key => $value) {
    if ($gtid == $key) {
        echo "On ID $key is $value";
        break;
  }
}

此处导致执行立即跳出
foreach
循环,因此它不会计算数组的任何其他元素。

不,您不能这样做。在
foreach
循环中使用一个简单的
if
语句:

foreach ($dbs as $key => $value) {
    if ($gtid == $key) {
        echo "On ID $key is $value";
        break;
  }
}

此处导致执行立即跳出
foreach
循环,因此它不会计算数组的任何其他元素。

如果甚至不需要循环

if (isset($dbs[$_GET['id']])) {
    echo sprintf('On ID %s is %s', $_GET['id'], $dbs[$_GET['id']]);
}

如果你甚至不需要一个循环

if (isset($dbs[$_GET['id']])) {
    echo sprintf('On ID %s is %s', $_GET['id'], $dbs[$_GET['id']]);
}
没有

实现这一点的简单方法:

<?php

$gtid = $_GET['id'];

$dbs  = array(
    "ZTI10" => "Example1",
    "O1JTQ" => "Example2",
    "4V1OR" => "Example3"
);

if ( isset($dbs[$gtid]) ) {
    echo "On ID $gtid is $dbs[$gtid]";
} else {
    // default
}

?>

实现这一点的简单方法:

<?php

$gtid = $_GET['id'];

$dbs  = array(
    "ZTI10" => "Example1",
    "O1JTQ" => "Example2",
    "4V1OR" => "Example3"
);

if ( isset($dbs[$gtid]) ) {
    echo "On ID $gtid is $dbs[$gtid]";
} else {
    // default
}

?>