$ _SESSION配列が以下のコードで変更されない理由を教えてもらえますか?オブジェクトは、各レコードのDoNotShipBeforeに日付を入れることです。 $ Row ['DoNotShipBefore']の出力が正しい日付を示しているので、明らかに値をどこかに置いています。しかし、ループが終了すると、ループは完了していないように見えます。
session_start();
print_r($_SESSION[cart_array]);
foreach($_SESSION[cart_array] as $Row) {
$Row['DoNotShipBefore'] = date("m/d/Y") ;
echo "<br>New Value of DoNotShipBefore (From cart_array): ". $Row['DoNotShipBefore'] ;
}
print "<br><br>";
print_r($_SESSION[cart_array]);
die();
出力は次のとおりです。
Array ([0] => Array ([groupId] => 26141 [DoNotShipBefore] => 10/01/2017))
New Value of DoNotShipBefore (From cart_array): 07/06/2017
Array ([0] => Array ([groupId] => 26141 [DoNotShipBefore] => 10/01/2017))
// Should be (or what I want is):
Array ([0] => Array ([groupId] => 26141 [DoNotShipBefore] => 07/06/2017))
私はセッション内で配列に対処する方法のまわりで私の頭をラップ苦労を抱えているので、実際に任意の助けをいただければ幸いです。
変更するには、$ _SESSION配列を更新していない{ 'foreachの($ _ SESSION [cart_array]など&$行)'へ{ ' – cmorrissey
このライン' foreachの($行として$ _ SESSION [cart_array])。 $行だけを更新します。 –