我需要为每个$_SESSION
if(isset($_SESSION['profile_status']) OR isset($_SESSION['building_name']) OR isset($_SESSION['building_street']) OR isset($_SESSION['building_postcode']) OR isset($_SESSION['building_locality']) OR isset($_SESSION['building_country'])){
$getProfileStatus = $_SESSION['profile_status'];
$buildingNameSelected = $_SESSION['building_name'];
$streetAddSelected = $_SESSION['building_street'];
$postcodeAddSelected = $_SESSION['building_postcode'];
$localityAddSelected = $_SESSION['building_locality'];
$countryAddSelected = $_SESSION['building_country'];
$vatNumber = $_SESSION['vat_number'];
$businessWebsite = $_SESSION['business_website'];
$businessEmail = $_SESSION['business_email'];
$contactPerson = $_SESSION['contact_person'];
$telephone1 = $_SESSION['telephone_1'];
$telephone2 = $_SESSION['telephone_2'];
$telephone3 = $_SESSION['telephone_3'];
$telephone4 = $_SESSION['telephone_4'];
}
是否有更清洁/更好的方法为每个变量执行isset($_SESSION
而不会出现任何错误。
我尝试使用foreach循环,但是我得到了没有定义变量的错误。
$sessionArrays = array(
'profile_status' => array(
'variable' => $getProfileStatus,
'session' => 'profile_status',
),
'building_name' => array(
'variable' => $buildingNameSelected,
'session' => 'building_name',
),
'building_street' => array(
'variable' => $streetAddSelected,
'session' => 'building_street',
),
'building_postcode' => array(
'variable' => $postcodeAddSelected,
'session' => 'building_postcode',
),
'vat_number' => array(
'variable' => $vatNumber,
'session' => 'vat_number',
),
'business_website' => array(
'variable' => $businessWebsite,
'session' => 'business_website',
),
'business_email' => array(
'variable' => $buildingNameSelected,
'session' => 'business_email',
),
'contact_person' => array(
'variable' => $contactPerson,
'session' => 'contact_person',
),
'building_name' => array(
'variable' => $buildingNameSelected,
'session' => 'building_name',
),
'telephone_1' => array(
'variable' => $telephone1,
'session' => 'telephone_1',
),
'telephone_2' => array(
'variable' => $telephone2,
'session' => 'telephone_2',
),
'telephone_3' => array(
'variable' => $telephone3,
'session' => 'telephone_3',
),
'telephone_4' => array(
'variable' => $telephone4,
'session' => 'telephone_4',
),
);
foreach ($sessionArrays as $sessionArray){
if(isset($_SESSION[$sessionArray['session']])){
$sessionArray['variable'] = $_SESSION[$sessionArray['session']];
}else{
$sessionArray['variable'] = null;
}
答案 0 :(得分:0)
您可以使用foreach
并使用empty()
代替isset()
进行检查,然后您确定此值已设置且不为空。
$keys = [
'profile_status',
'building_name',
'building_street',
'building_postcode',
'building_locality',
'building_country',
'vat_number',
'business_website',
'business_email',
'contact_person',
'telephone_1',
'telephone_2',
'telephone_3',
'telephone_4'
];
foreach ($keys as $key) {
if (empty($_SESSION[$key])) {
echo $key . ' is missing in session!';
}
}