第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

從PHP中的空值創(chuàng)建默認(rèn)對象?

從PHP中的空值創(chuàng)建默認(rèn)對象?

PHP
慕桂英546537 2019-06-24 16:26:52
從PHP中的空值創(chuàng)建默認(rèn)對象?只有在將PHP環(huán)境升級到PHP5.4及更高版本之后,我才會看到此錯(cuò)誤。錯(cuò)誤指向這一行代碼:錯(cuò)誤:從空值創(chuàng)建默認(rèn)對象代碼:$res->success = false;我首先需要聲明我的$res反對?
查看完整描述

3 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

你的新環(huán)境E_STRICT警告啟用error_reporting對于PHP版本<=5.3.x,或者只是擁有error_reporting至少設(shè)置為E_WARNING使用PHP版本>=5.4。當(dāng)$resNULL或尚未初始化:

$res = NULL;$res->success = false; // Warning: Creating default object from empty value

如果$res已初始化為某些值,但不是對象:

$res = 33;$res->success = false; // Warning: Attempt to assign property of non-object

為了遵守E_STRICTPHP 5.4之前的標(biāo)準(zhǔn),或正常的E_WARNINGPHP>=5.4中的錯(cuò)誤級別,假設(shè)您試圖創(chuàng)建一個(gè)泛型對象并分配屬性success,您需要聲明$res作為.的對象stdClass在全局命名空間中:

$res = new \stdClass();$res->success = false;


查看完整回答
反對 回復(fù) 2019-06-24
?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

這個(gè)信息E_STRICT對于PHP<=5.3。自從PHP5.4以來,它被不幸地更改為E_WARNING..自E_WARNING消息是有用的,您不想完全禁用它們。

要消除此警告,必須使用以下代碼:

if (!isset($res)) 
    $res = new stdClass();$res->success = false;

這是完全等效替換..它確保PHP正在默默地做同樣的事情-不幸的是,現(xiàn)在有了警告-隱式對象創(chuàng)建。您應(yīng)該始終檢查對象是否已經(jīng)存在,除非絕對確定它不存在。Michael提供的代碼一般都不太好,因?yàn)樵谀承┣闆r下,對象有時(shí)可能已經(jīng)在代碼中的同一位置定義,這取決于環(huán)境。


查看完整回答
反對 回復(fù) 2019-06-24
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

很簡單,

    $res = (object)array("success"=>false); // $res->success = bool(false);

    $res = (object)array(); // object(stdClass)

    $res = new stdClass();  // old method

    $res->success = !!0;    // bool(false)

    $res->success = false;  // bool(false)

    $res->success = (bool)0; // bool(false)


查看完整回答
反對 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 934 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號