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
}
?>