传递会话变量后,爆炸,然后第二个数组不存在

时间:2016-01-22 16:12:28

标签: php session mysqli

我已经传递了一个具有Name的会话数组,现在名称可能只是名字或者名字和姓氏所以如果有名字和姓氏我使用explode并在名字输入中输入名字姓氏输入的姓氏,但如果我没有姓氏那么 爆炸会产生错误:

  

注意:未定义的偏移量:第17行的C:\ xampp \ htdocs \ gym \ bootstrap-3.3.5-dist \ registration.php中的1

<?php
session_start();

 $enqCustomer = $_SESSION['enqRegister'];

$enqCustomerid = $enqCustomer['id'];
$enqCustomerfullname = $enqCustomer['fname'];//For example name is Taha Dhailey
$enqArr = explode(" ",$enqCustomerfullname);
$enqCustomerfname = $enqArr[0];// Taha
$enqCustomerlname = $enqArr[1];// Dhailey

$enqCustomermobile = $enqCustomer['mobile'];

但如果

 $enqCustomer = $_SESSION['enqRegister'];

$enqCustomerid = $enqCustomer['id'];
$enqCustomerfullname = $enqCustomer['fname'];//For example name is Taha
$enqArr = explode(" ",$enqCustomerfullname);
$enqCustomerfname = $enqArr[0];// is Taha
$enqCustomerlname = $enqArr[1];// is Null

在回显$enqCustomerlname时出现此错误

  

未定义的偏移:第17行的C:\ xampp \ htdocs \ gym \ bootstrap-3.3.5-dist \ registration.php中的1“

基本上我希望我的服务器告诉我,如果不存在第二个名字,它就不应该接受它。 请帮忙。

1 个答案:

答案 0 :(得分:2)

试试这个:

$enqArr = explode(" ",$enqCustomerfullname);
$enqCustomerfname = $enqArr[0];
$enqCustomerlname = '';
if(isset($enqArr[1]))
   $enqCustomerlname = $enqArr[1];