ホームページ > バックエンド開発 > PHPチュートリアル > 非オブジェクトのメンバー関数の呼び出し (十分でない場合はさらに追加)

非オブジェクトのメンバー関数の呼び出し (十分でない場合はさらに追加)

WBOY
リリース: 2016-06-13 13:23:09
オリジナル
1057 人が閲覧しました

非オブジェクト、緊急オンラインなどでメンバー関数を呼び出し、追加するポイントが足りません
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 の人々がそれを非常に明確にしました。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート