Php 如何获取数组变量值?
Php 如何获取数组变量值?,php,arrays,function,Php,Arrays,Function,$tempVAL1或$tempVAL2始终返回null。为什么?如何修复函数sGetVAL???因为您使用的是文字索引,比如数字索引? 因为数组$lang在函数中不可见 试试这个: $lang['profil_basic_medeni'] = array( 1 => 'Bekâr', 2 => 'Evli', 3 => 'Nişanlı', 4 => 'İlişkide', 5 => 'Ayrılmış', 6 =&
$tempVAL1
或$tempVAL2
始终返回null
。为什么?如何修复函数sGetVAL???因为您使用的是文字索引,比如数字索引?
因为数组$lang
在函数中不可见
试试这个:
$lang['profil_basic_medeni'] = array(
1 => 'Bekâr',
2 => 'Evli',
3 => 'Nişanlı',
4 => 'İlişkide',
5 => 'Ayrılmış',
6 => 'Boşanmış'
);
$lang['profil_basic_sac'] = array(
1 => 'Normal',
2 => 'Kısa',
3 => 'Orta',
4 => 'Uzun',
5 => 'Fönlü',
6 => 'Saçsız (Dazlak)',
7 => 'Karışık/Dağınık',
8 => 'Her Zaman Bol Jöleli :)'
);
function sGetVAL($item,$valno) {
$sonuc = $lang[$item][$valno];
return $sonuc;
}
$tempVAL1 = sGetVAL('profil_basic_medeni','3'); // return null
//or
$tempVAL2 = sGetVAL('profil_basic_sac','7'); // return null
这是:
$tempVAL1 = sGetVAL('profil_basic_medeni',3); // return null
//or
$tempVAL2 = sGetVAL('profil_basic_sac',7); // return null
因为你使用的是文字索引,比如数字索引? 因为数组
$lang
在函数中不可见
试试这个:
$lang['profil_basic_medeni'] = array(
1 => 'Bekâr',
2 => 'Evli',
3 => 'Nişanlı',
4 => 'İlişkide',
5 => 'Ayrılmış',
6 => 'Boşanmış'
);
$lang['profil_basic_sac'] = array(
1 => 'Normal',
2 => 'Kısa',
3 => 'Orta',
4 => 'Uzun',
5 => 'Fönlü',
6 => 'Saçsız (Dazlak)',
7 => 'Karışık/Dağınık',
8 => 'Her Zaman Bol Jöleli :)'
);
function sGetVAL($item,$valno) {
$sonuc = $lang[$item][$valno];
return $sonuc;
}
$tempVAL1 = sGetVAL('profil_basic_medeni','3'); // return null
//or
$tempVAL2 = sGetVAL('profil_basic_sac','7'); // return null
这是:
$tempVAL1 = sGetVAL('profil_basic_medeni',3); // return null
//or
$tempVAL2 = sGetVAL('profil_basic_sac',7); // return null
数组是全局的,但函数使用它的本地版本(不同且未初始化)
首先在函数中写入
global$lang
,或者使用$GLOBALS['lang']
访问数组。数组是全局数组,但函数使用它的本地版本(不同且未初始化)
首先在函数中写入
global$lang
,或者使用$GLOBALS['lang']
访问数组。$lang
是一个全局变量,对sGetVal
不可见。函数通常只能看到它们自己定义的变量(以及超全局变量,如$\u POST
和$\u GET
)
你可以用
function sGetVAL($item,$valno) {
global $lang;
$sonuc = $lang[$item][$valno];
return $sonuc;
}
但是最好完全不使用全局变量。
$lang
是一个全局变量,对sGetVal
不可见。函数通常只能看到它们自己定义的变量(以及超全局变量,如$\u POST
和$\u GET
)
你可以用
function sGetVAL($item,$valno) {
global $lang;
$sonuc = $lang[$item][$valno];
return $sonuc;
}
但是最好完全不使用全局变量。函数无法看到数组
$lang
,因为您没有使用全局
关键字将其纳入范围。阅读。由于您没有使用全局
关键字将其纳入范围,因此sGetVal
函数无法查看数组$lang
。阅读。您可以将数字字符串索引与数字字符串索引交换。没有区别$a['1']==$a[1]
他还可以将数组传递给函数。。。globals是邪恶的:pyup,两个评论都是正确的。但这对他来说可能是最小的痛苦:)@Erik:你为什么要删除你的答案?3其他类似的答案首先发布,我不认为我的版本将数组作为参数是一个重大的改进,可以放弃。你可以将数字字符串索引与数字字符串索引交换。没有区别$a['1']==$a[1]
他还可以将数组传递给函数。。。globals是邪恶的:pyup,两个评论都是正确的。但这对他来说可能是最小的痛苦:)@Erik:你为什么要删除你的答案?3个其他类似的答案首先发布,我不认为我的版本将数组作为参数是一个重大的改进,可以放弃。你为什么还需要这个函数?你可以直接访问这些值。你为什么还需要这个函数呢?您可以直接访问这些值。