0

URLに配列を渡しましたが、$ sim_p [1]を使用したい場合、「通知:未定義のオフセット:1」が発生しますが、オフセット0の場合は正常に機能します。

$url = 'My Library.php?num='.$k.'&sim_p[]=' . implode('&sim_p[]=', array_map('urlencode', $sim_p)); //sim_p[ 0 ] and sim_p[ 1 ] are full in this page
          header ("Location:".$url);

およびMyLibrary.php:

  $num = $_GET[ 'num' ]; 
    $sim_p = array();
    if($num > 0){
    $sim_p = $_GET[ 'sim_p' ]; 
    }

前もって感謝します!

4

1 に答える 1

1

使用var_dump($_GET)したことがある場合は、おそらく次のようなものが得られます。

"?num=2&sim_p[]=value1&sim_p[]=value2"

array(3) {
  ["num"]=>
  string(1) "2"
  ["sim_p"]=>
  array(1) {
    [0]=>
    string(6) "value1"
  }
  ["amp;sim_p"]=>
  array(1) {
    [0]=>
    string(6) "value2"
  }
}

&の代わりにを使用して実装することに注意してください&。これにより、クエリはキーを使用して$_GET内の別のアイテムに解決されました"amp;sim_p"

これは機能します:

$url = 'My Library.php?num='.$k.'&sim_p[]=' . 
       implode('&sim_p[]=', array_map('urlencode', $sim_p));
于 2012-12-07T20:46:46.080 に答える