非オブジェクト、緊急オンラインなどでメンバー関数を呼び出し、追加するポイントが足りません
CALSS CART {
Function get_item ()
{
IF (! Empty ( $ _ session [ 'cart '])&&is_array($_SESSION[ 'cart ']))
{
return $_SESSION[ 'cart ']=array(); _SESSION[ 'cart '];
}
}
$data=$cart->
PHP バージョン 4.3。 11、PHP バージョン 4.4.4 テスト中にエラーが発生しました。非オブジェクト
のメンバー関数の呼び出しです。 PHP バージョン 4.4.6、PHP バージョン 5.1 .2 テストは正常です。print_r を出力できます。 ($data);
------解決策------ --
あなたならこうするでしょう新しいインスタンスを作成した方がよいでしょう。
------解決策---------
正常に動作するとおかしいです
クラス カート {
function get_item() {
if(!empty($_SESSION[ 'cart '])&&is_array($_SESSION[ 'cart ']))
{
return $_SESSION[ 'cart '];
}
else
{
$_SESSION[ 'cart ']=array(); '];
}
}
}
$data = $cart->
------解決策---------
非オブジェクトのメンバー関数の呼び出し
============================================
空のオブジェクトのメンバー関数を呼び出します。
「非オブジェクト」とは、オブジェクトがインスタンス化されていない、つまり新しくないことを意味します。
------解決策-----
まあ、liyong98847() の言っていることは理にかなっています。 php4 の php.ini の register_globals がオフかどうか。オンの場合、$_SESSION[ 'cart '] は $cart と同等になります。 register_globals=on の場合: ==== ============================================
$cart = new cart();//カートクラスの $_SESSION[ 'cart '] の値を変更することは、 $cart
の値を変更することと同じです $data=$cart-> get_item( );//$cart;が変更されているため、非オブジェクトのメンバー関数が呼び出されています
エラーが発生しない場合は、変数名を変更してみてください。
=== が問題であることがわかります。 =============================================== == $c = 新しいカート(); $data=$c-> get_item();
------解決策-----
LS の人々がそれを非常に明確にしました。