1

私は2つの配列を持っています:

 $arr1 = array($_SESSION['a'], $_SESSION['b']);
 $arr2 = array("1", "2");

私はこのコードを次の目的で使用しました。

 extract(array_combine($arr1, $arr2));

出力は次のようになります。

 $_SESSION['a'] = 1;
 $_SESSION['b'] = 2;

出力の値である別の配列にそれを格納する場合:

 $_SESSION['abcd'] = array($_SESSION['a'], $_SESSION['b']);

私がそれを実行すると、出力は私にそれを教えてくれます

 Unidentified a
 Unidentified b
4

5 に答える 5

0

値が割り当てられています。問題は発生していません。これを試してください。

session_start();
$_SESSION['a']=a;
$_SESSION['b']=b;'
$arr1 = array($_SESSION['a'], $_SESSION['b']); 
$arr2 = array(1,2);
extract(array_combine($arr1, $arr2));
echo $_SESSION['a']."<br/>";
echo $_SESSION['b']."<br/>";
$_SESSION['abcd'] = array($_SESSION['a'], $_SESSION['b']);
echo $_SESSION['abcd'][0]."<br/>";
echo $_SESSION['abcd'][1]."<br/>";
于 2012-12-20T02:09:28.143 に答える
0

これにarray_combineを使用する場合、これにはそれが必要で$_SESSION['a']あり$_SESSION['b']、値があります。$_SESSIONまた、 ;にアクセスする前にセッションを行う必要があります。

$arr1 = array($_SESSION['a'], $_SESSION['b']);
$arr2 = array("1", "2");

あなたが持っているとしましょう:

session_start();
$_SESSION['a'] = 'keya';
$_SESSION['b'] = 'keyb';
$arr1 = array($_SESSION['a'], $_SESSION['b']);
$arr2 = array("1", "2");
extract(array_combine($arr1, $arr2));
// array_combine will return
// Array
// (
//     [keya] => 1
//     [keyb] => 2
// )
// then running extract on this array will produce
echo $keya; // "1"
echo $keyb; // "2"

したがって、別のセッション変数に格納すると、次のようになります。

$_SESSION['abcd'] = array($keya, $keyb);
于 2012-12-20T02:21:27.290 に答える
0

今、私はそれを手に入れました(私はそれが私にとても時間がかかったのは残念です)。

array combine@aceの言うとおりに機能します。

変数の名前をarr1の値(つまり、''と''はどこにも設定されていないため$_SESSION['a'] = '' && $_SESSION['b'] = '')から取得し、次にarr2の値(つまり'1'と'1')を取得して結合を意味します配列はarray('' => 2)(上書きされるため)になります。

values of array1 supplies keys

values of array2 supplies values

これは、抽出される変数が技術的に$であることを意味します(''の名前のように、しかし、明らかに、これは有効な変数ではありません)。

設定してから使用した場合は、その代わりに$_SESSION['a'] = 'aaa'; $_SESSION['b'] = 'bbb';使用します。$_SESSION['abcd'] = array($aaa, $bbb);$_SESSION['abcd'] = array($_SESSION['a'], $_SESSION['b']);

http://codepad.org/xH9tEwxR

于 2012-12-20T02:57:25.417 に答える
0

あなたはsession_start()一番上に行方不明です。$_SESSIONそれまでは一緒に仕事をすることはできません。

于 2012-12-20T09:50:09.413 に答える
0
array($_SESSION['a'], $_SESSION['b'])

これにより、現在の任意ので新しい配列が作成されます。それらが設定されていないため、と仮定しましょう。結果はです。$_SESSION['a']$_SESSION['b']nullarray(null, null)

変数はのプレースホルダーです。ここでは、変数自体ではなく、値が使用されます。

extract(array_combine($arr1, $arr2));

出力は次のようになります。

$_SESSION['a'] = 1;
$_SESSION['b'] = 2;

この仮定は単に明らかに間違っているので、それに基づく他の仮定も機能していません。

于 2012-12-20T09:57:54.913 に答える