php - 传递密钥并在函数内部使用数组
问题描述
我有一个这样定义的函数:
public static function getRegionFromState( $theState){
//Returns Region from the State
//Region I: CT DC DE IL IN MA MD ME MI NH NJ NY OH PA RI VT WI
//Region II: AL AR FL GA KY LA MS NC PR SC TN TX VA VI WV
//Region III: AK AZ CA CO GU HI IA ID KS MN MO MP MT ND NE NM NV OK OR SD UT WA WY
//States and Region assignments
$statesRegions = array
(
'Connecticut'=> array( 'ST'=>"CT" ,'Region'=>"Region I"),
'District of Columbia'=> array( 'ST'=>"DC" ,'Region'=>"Region I"),
'Delaware'=> array( 'ST'=>"DE" ,'Region'=>"Region I"),
'Illinois'=> array( 'ST'=>"IL" ,'Region'=>"Region I"),
'Indiana'=> array( 'ST'=>"IN" ,'Region'=>"Region I"),
'Massachusetts'=> array( 'ST'=>"MA" ,'Region'=>"Region I"),
'Maryland'=> array( 'ST'=>"MD" ,'Region'=>"Region I"),
'Maine'=> array( 'ST'=>"ME" ,'Region'=>"Region I"),
'Michigan'=> array( 'ST'=>"MI" ,'Region'=>"Region I"),
'New Hampshire'=> array( 'ST'=>"NH" ,'Region'=>"Region I"),
'New Jersey '=> array( 'ST'=>"NJ" ,'Region'=>"Region I"),
'New York'=> array( 'ST'=>"NY" ,'Region'=>"Region I"),
'Ohio'=> array( 'ST'=>"OH" ,'Region'=>"Region I"),
'Pennsylvania'=> array( 'ST'=>"PA" ,'Region'=>"Region I"),
'Rhode Island'=> array( 'ST'=>"RI" ,'Region'=>"Region I"),
'Vermont'=> array( 'ST'=>"VT" ,'Region'=>"Region I"),
'Wisconsin'=> array( 'ST'=>"WI" ,'Region'=>"Region I"),
'Alabama'=> array( 'ST'=>" AL" ,'Region'=>" Region II"),
'Arkansas'=> array( 'ST'=>" AR" ,'Region'=>" Region II"),
'Florida'=> array( 'ST'=>" FL" ,'Region'=>" Region II"),
'Georgia'=> array( 'ST'=>" GA" ,'Region'=>" Region II"),
'Kentucky'=> array( 'ST'=>" KY" ,'Region'=>" Region II"),
'Louisiana'=> array( 'ST'=>" LA" ,'Region'=>" Region II"),
'Mississippi'=> array( 'ST'=>" MS" ,'Region'=>" Region II"),
'North Carolina '=> array( 'ST'=>" NC" ,'Region'=>" Region II"),
'Puerto Rico'=> array( 'ST'=>" PR" ,'Region'=>" Region II"),
'South Carolina '=> array( 'ST'=>" SC" ,'Region'=>" Region II"),
'Tennessee'=> array( 'ST'=>" TN" ,'Region'=>" Region II"),
'Texas'=> array( 'ST'=>" TX" ,'Region'=>" Region II"),
'Virginia'=> array( 'ST'=>" VA" ,'Region'=>" Region II"),
'Virgin Islands '=> array( 'ST'=>" VI" ,'Region'=>" Region II"),
'West Virginia'=> array( 'ST'=>" WV" ,'Region'=>" Region II"),
'Alaska '=> array( 'ST'=>" AK" ,'Region'=>" Region III"),
'Arizona'=> array( 'ST'=>" AZ" ,'Region'=>" Region III"),
'California '=> array( 'ST'=>" CA" ,'Region'=>" Region III"),
'Colorado'=> array( 'ST'=>" CO" ,'Region'=>" Region III"),
'Guam'=> array( 'ST'=>" GU" ,'Region'=>" Region III"),
'Hawaii '=> array( 'ST'=>" HI" ,'Region'=>" Region III"),
'Iowa'=> array( 'ST'=>" IA" ,'Region'=>" Region III"),
'Idaho'=> array( 'ST'=>" ID" ,'Region'=>" Region III"),
'Kansas '=> array( 'ST'=>" KS" ,'Region'=>" Region III"),
'Minnesota'=> array( 'ST'=>" MN" ,'Region'=>" Region III"),
'Missouri'=> array( 'ST'=>" MO" ,'Region'=>" Region III"),
'Northern Marianas Islands'=> array( 'ST'=>" MP" ,'Region'=>" Region III"),
'Montana'=> array( 'ST'=>" MT" ,'Region'=>" Region III"),
'North Dakota'=> array( 'ST'=>" ND" ,'Region'=>" Region III"),
'Nebraska'=> array( 'ST'=>" NE" ,'Region'=>" Region III"),
'New Mexico '=> array( 'ST'=>" NM" ,'Region'=>" Region III"),
'Nevada '=> array( 'ST'=>" NV" ,'Region'=>" Region III"),
'Oklahoma'=> array( 'ST'=>" OK" ,'Region'=>" Region III"),
'Oregon '=> array( 'ST'=>" OR" ,'Region'=>" Region III"),
'South Dakota'=> array( 'ST'=>" SD" ,'Region'=>" Region III"),
'Utah'=> array( 'ST'=>" UT" ,'Region'=>" Region III"),
'Washington '=> array( 'ST'=>" WA" ,'Region'=>" Region III"),
'Wyoming'=> array( 'ST'=>" WY" ,'Region'=>" Region III")
);
return $statesRegions[$theState]['Region'];
}
如果我称之为:
$theState = $theUserObj->profile['State'];
$theRegion = self::sss_getRegionFromState($theState);
然后我得到这个:注意:未定义索引:Pennsylvania in E:\moodle\moodle\local\sssevents\classes\observer.php on line 169
但如果我这样做:
$myState = 'Wyoming';
echo( self::sss_getRegionFromState($myState);
然后这可以正常工作。所以,我想问题是......为什么 $myState 工作,但作为参数传递给函数的 $theState 不能正常工作?
我不知道如何解决这个问题。
谢谢!
解决方案
推荐阅读
- java - JHipster 中外部 API 的访问控制策略
- java - 如何检测用户是否拖动 PIP 窗口(向下拖动以关闭)?
- android - 我如何使所有应用程序从右到左接收一个部分?以及使这部分没有显示在 rtl 语言上的问题是什么?
- python - 一列 0 到 100 的 DataFrame
- java - 如何从 Flux (Spring Reactor) 中的项目生成项目
- ios - 应用程序仅在通过 Xcode 运行时运行,当我尝试在与 Mac 断开连接的设备上运行它时它不起作用
- excel - 获取上次更改/导入 Excel 中的模块的日期
- nfs - 是否可以在 PCFDev 中启用 NFS 服务?
- javascript - 为什么引导模式的“关闭”和“x”按钮不起作用?
- django - Django REST Framework 自定义序列化程序 mixin 不起作用