isset() 似乎不适用于数组
isset() does not seem to work on an array
我正在处理一段现有的 PHP 代码并尝试理解它以便调试问题:
echo "Got here !!!\n";
var_dump($aHeaders);
if (isset($aHeaders['SALESCHANNEL'])) {
echo "aHeaders['SALESCHANNEL'] is set\n";
...
} elseif (isset($aHeaders['SALESUNIT'])) {
echo "aHeaders['SALESUNIT'] is set\n";
...
}
echo "Got there !!!\n";
我得到以下输出:
Got here !!!
array(1) {
["EMAIL,FIRSTNAME,LASTNAME,PHONE,TITLE,DATEOFBIRTH,SALESUNIT,LANGUAGE,STATUS,IS_RESELLER,CUSTOMDATE,ADDRESS_1,ADDRESS_2,CITY,COUNTRY,ZIPCODE,"]=>
int(0) }
Got there !!!
我不是 PHP 方面的专家,但我相信我应该看到:
aHeaders['SALESUNIT'] is set
在输出中。出了什么问题?
我的 PHP 版本是 PHP 5.5.30 如果重要的话。
您目前拥有的是:
$arr1 = array('EMAIL,FIRSTNAME,LASTNAME,PHONE,TITLE,DATEOFBIRTH,SALESUNIT,LANGUAGE,STATUS');
isset() 只有在满足以下条件时才有效:
$arr2 = array(
'EMAIL' => 'blah',
'FIRSTNAME' => 'blah',
'LASTNAME' => 'blah',
'PHONE' => 'blah',
'TITLE' => 'blah',
'DATEOFBIRTH' => 'blah',
'SALESUNIT' => 'blah',
'LANGUAGE' => 'blah',
'STATUS' => 'blah'
);
使用下面的代码
echo "Got here !!!\n";
var_dump($aHeaders);
// get the keys to array
$array_keys = array_keys($aHeaders)
// explode the array keys with comma
$array_values = explode(',',$array_keys[0]);
if (in_array('SALESCHANNEL',$array_values)) {
echo "aHeaders['SALESCHANNEL'] is set\n";
...
} elseif (in_array('SALESUNIT',$array_values)) {
echo "aHeaders['SALESUNIT'] is set\n";
...
}
echo "Got there !!!\n";
我正在处理一段现有的 PHP 代码并尝试理解它以便调试问题:
echo "Got here !!!\n";
var_dump($aHeaders);
if (isset($aHeaders['SALESCHANNEL'])) {
echo "aHeaders['SALESCHANNEL'] is set\n";
...
} elseif (isset($aHeaders['SALESUNIT'])) {
echo "aHeaders['SALESUNIT'] is set\n";
...
}
echo "Got there !!!\n";
我得到以下输出:
Got here !!!
array(1) {
["EMAIL,FIRSTNAME,LASTNAME,PHONE,TITLE,DATEOFBIRTH,SALESUNIT,LANGUAGE,STATUS,IS_RESELLER,CUSTOMDATE,ADDRESS_1,ADDRESS_2,CITY,COUNTRY,ZIPCODE,"]=>
int(0) }
Got there !!!
我不是 PHP 方面的专家,但我相信我应该看到:
aHeaders['SALESUNIT'] is set
在输出中。出了什么问题?
我的 PHP 版本是 PHP 5.5.30 如果重要的话。
您目前拥有的是:
$arr1 = array('EMAIL,FIRSTNAME,LASTNAME,PHONE,TITLE,DATEOFBIRTH,SALESUNIT,LANGUAGE,STATUS');
isset() 只有在满足以下条件时才有效:
$arr2 = array(
'EMAIL' => 'blah',
'FIRSTNAME' => 'blah',
'LASTNAME' => 'blah',
'PHONE' => 'blah',
'TITLE' => 'blah',
'DATEOFBIRTH' => 'blah',
'SALESUNIT' => 'blah',
'LANGUAGE' => 'blah',
'STATUS' => 'blah'
);
使用下面的代码
echo "Got here !!!\n";
var_dump($aHeaders);
// get the keys to array
$array_keys = array_keys($aHeaders)
// explode the array keys with comma
$array_values = explode(',',$array_keys[0]);
if (in_array('SALESCHANNEL',$array_values)) {
echo "aHeaders['SALESCHANNEL'] is set\n";
...
} elseif (in_array('SALESUNIT',$array_values)) {
echo "aHeaders['SALESUNIT'] is set\n";
...
}
echo "Got there !!!\n";