0
    $response = curl_exec($ch);
    curl_close($ch);
    //Split the HEADERS and BODY 
    list($h, $EALOGIN) = explode("\r\n\r\n", $response, 2);
    $r = explode("\r\n", $h);

    //EASW Key
    $s = explode(":", $r[7]);
    $t = explode(";", $s[1]);
    $EASW_KEY = $t[0]; 
    //Session Key
    $m = explode(":", $r[8]);
    $n = explode(";", $m[1]);
    $EASF_SESS = $n[0];
    //nuc
    $a = explode("<nucleusId>", $EALOGIN);
    $b = explode("</nucleusId>", $a[1]);
    $NUC = $b[0];

オフラインは「$a」行を指します。エラーがわかりません。どうすれば解決できますか?

4

3 に答える 3

1

問題は$a[1]、設定されていないことが原因である可能性があります。

次のステートメントでは、区切り文字が見つからなかった可能性があります。

$a = explode("<nucleusId>", $EALOGIN);

デバッグ ステートメント (var_dump() など) を使用してコードを試し、問題の原因を突き止めてください。

于 2012-11-30T21:03:35.763 に答える
0

「未定義のオフセット」とは、一部の配列に特定のキーを持つ要素がないことを意味します。それはおそらく$a配列です。

このコードを次のようにデバッグすることをお勧めします。

$response = curl_exec($ch);
curl_close($ch);
//Split the HEADERS and BODY 
list($h, $EALOGIN) = explode("\r\n\r\n", $response, 2);
$r = explode("\r\n", $h);

//EASW Key
$s = explode(":", $r[7]);
$t = explode(";", $s[1]);
$EASW_KEY = $t[0]; 
//Session Key
$m = explode(":", $r[8]);
$n = explode(";", $m[1]);
$EASF_SESS = $n[0];
//nuc
$a = explode("<nucleusId>", $EALOGIN);

// debug start
echo "<pre>";
print_r($a);
echo "</pre>";
// debug end

$b = explode("</nucleusId>", $a[1]);
$NUC = $b[0];
于 2012-11-30T21:23:10.983 に答える
0

preg_matchで試してみてください

$pattern = "/<nucleusId>(.*)<\/nucleusId>/";
preg_match($pattern, $string, $matches);
$NUC = $matches[1];
于 2012-11-30T21:26:06.857 に答える