iT邦幫忙

0

<解決>Session存成同一個?

	$_SESSION['familyName'] = $userData['familyName'];
	$_SESSION['givenName'] = $userData['givenName'];

想要將$userData['familyName']和$userData['givenName']
一起存在Session['Name'],顯示出來的結果是familyName+givenName
有試著寫成$userData['familyName,givenName'];但沒有反應
想知道正確可行的寫法~謝謝

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2021-08-25 10:47:52 檢舉
先貼出有問題的部分吧?
0805cyc iT邦新手 4 級 ‧ 2021-08-25 10:55:10 檢舉
問題就是寫成Session['Name']=$userData['familyName,givenName'];是空值沒有抓到東西
為啥想到用逗號? 若是字串用相加沒辦法?? 我是用C#邏輯猜...
archer9080 iT邦研究生 4 級 ‧ 2021-08-25 12:05:53 檢舉
裡面是key name呀,怎會用familyName,givenName這寫法@@
要一起存進去的話就用字串拼接,中間以符號串接前後兩個,後續拿出來再以符號來切割
把兩個SESSION讀取然後相加起來然後再存到NAME就好了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
haward79
iT邦研究生 3 級 ‧ 2021-08-25 11:34:11
最佳解答

php 字串串接請使用 . (英文句點)
例如:

$_SESSION['name'] = $userData['familyName'] . $userData['givenName']

不過以上寫法有個問題,就是當 $userData['familyName'] 與 $userData['givenName'] 更新時,$_SESSION['name'] 的值不會更新。

如果希望值會同步更新,可以使用 function 來完成:

function getName()
{
    return ($userData['familyName'] . $userData['givenName']);
}
0805cyc iT邦新手 4 級 ‧ 2021-08-25 13:05:33 檢舉

好的我會試試看謝謝您

0
天黑
iT邦研究生 5 級 ‧ 2021-08-25 11:00:26

雖然我不是寫php,也許你可以試試下面的寫法

Session['Name']=$userData['familyName'] + $userData['givenName'];
0
Hankz
iT邦新手 2 級 ‧ 2021-08-25 13:14:15

字串相接:

$_SESSION['name'] = $userData['familyName'] . $userData['givenName'];

以陣列存入:

$_SESSION['name'] = [$userData['familyName'], $userData['givenName']];

以陣列存入並保留key值:

$_SESSION['name']['familyName'] = $userData['familyName'];
$_SESSION['name']['givenName']  = $userData['givenName'];
0
japhenchen
iT邦超人 1 級 ‧ 2021-08-26 12:00:33

變成MIXED DATA

$_SESSION['fullName'] =[$userData['familyName'], $userData['givenName']];

之後

echo $_SESSION['fullName'][0];
echo $_SESSION['fullName'][1];

我要發表回答

立即登入回答