我對PHP代碼的現有件工作的工作,並嘗試去了解它,以便調試問題:isset()函數似乎並沒有一個數組
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 30年5月5日,如果它很重要。
你的數組實際上它只有1個元素,其中包含的數據是一個巨大的字符串,而不是一個關聯數組。 isset()只有在它是一個關聯數組時纔會起作用。 –
'echo'也是不正確的,因爲你忘記了變量前面的'$'-sign。 – Chris
如果需要檢查是否SALESUNIT是在逗號分隔的列表中的值,則使用爆炸函數,那麼in_array(): '$ arrHeaders =爆炸( '',$ aHeaders [0]);如果(in_array('SALESUNIT',$ arrHeaders){ echo'found'; } else { echo'not there'; }檢查PHP文檔[isset()](http:// php達網絡/ isset)和[in_array()](http://php.net/in_array) – thorne51