Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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_Arrays_Function - Fatal编程技术网

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个其他类似的答案首先发布,我不认为我的版本将数组作为参数是一个重大的改进,可以放弃。你为什么还需要这个函数?你可以直接访问这些值。你为什么还需要这个函数呢?您可以直接访问这些值。