我在做一个应用程序,我被卡住了。
我想在foreach内部做这样的switch:
<?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;
}
}
?>这可能吗?或者还有其他方法来做我想做的事?
提前谢谢。
发布于 2014-03-22 01:17:53
如果不需要循环
if (isset($dbs[$_GET['id']])) {
echo sprintf('On ID %s is %s', $_GET['id'], $dbs[$_GET['id']]);
}发布于 2014-03-22 01:14:29
不,你不能那样做。在您的if循环中使用一个简单的foreach语句:
foreach ($dbs as $key => $value) {
if ($gtid == $key) {
echo "On ID $key is $value";
break;
}
}这里的break导致执行立即跳出foreach循环,因此它不会计算数组的任何其他元素。
发布于 2014-03-22 01:20:01
不是的。
这样做很简单:
<?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
}
?>https://stackoverflow.com/questions/22572160
复制相似问题