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

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

如何從 javascript 訪問 php 對象數(shù)組中的 php 對象的屬性

如何從 javascript 訪問 php 對象數(shù)組中的 php 對象的屬性

PHP
肥皂起泡泡 2023-07-08 15:32:56
我有一個 php 對象數(shù)組。在 JavaScript 函數(shù)中,我想訪問數(shù)組中對象的屬性。如果我json_encode整個數(shù)組,它顯示這些屬性是undefined。我怎樣才能做到這一點。我是 PHP 新手。PHP代碼:$_SESSION['objArray'] = $objArray;JavaScript 代碼:const objArray = <?php echo json_encode(($_SESSION['objArray'])) ?>;
查看完整描述

2 回答

?
12345678_0001

TA貢獻1802條經(jīng)驗 獲得超5個贊

您當然需要將數(shù)組編碼為 JSON,以便 JavaScript 客戶端可以使用它。

正如您所提到的,您的數(shù)組中有特定類的實例,因此簡單的 JSON 編碼肯定無法正常工作。

這里,PHP自帶了JsonSerializable接口。您必須在您的類上實現(xiàn)此接口。讓我們舉個Foo例子:

class Foo implements JsonSerializable

{

? private $thing;


? public function __construct($thing)

? {

? ? $this->thing = $thing;

? }


? public function jsonSerialize()

? {

? ? return [

? ? ? 'thing' => $this->thing,

? ? ];

? }

}?

這是上述代碼片段的示例。如您所見,現(xiàn)在您可以創(chuàng)建 的實例Foo,將其嵌入到數(shù)組或其他內(nèi)容中,并使用您自己的表示形式對其進行 JSON 編碼:


$foo = new Foo('something');

echo json_encode(['foo' => $foo]);


// {"foo": {"thing": "something"}}

將其輸出到內(nèi)聯(lián) JavaScript 塊中的工作方式與您編寫的類似:


<script type="application/javascript">

const obj = "<?php echo json_encode(($_SESSION['objArray'])) ?>;";

</script>


查看完整回答
反對 回復 2023-07-08
?
jeck貓

TA貢獻1909條經(jīng)驗 獲得超7個贊

將 php 數(shù)組存儲到 javascript 變量中,


示例值:( 內(nèi)部示例數(shù)組$_SESSION['objArray'])


$_SESSION['objArray'] = array(

    'name' => 'foo',

    'email' => 'foo@gmail.com',

    'age' => 30

);

將對象轉(zhuǎn)換為數(shù)組:(可選)(如果里面有對象值$_SESSION['objArray'])


$_SESSION['objArray'] = json_decode(json_encode($_SESSION['objArray']), true);

解決方案:( 分配給javascript變量objArray)


<script>

    const objArray = "<?php echo json_encode($_SESSION['objArray']); ?>";

    console.log(objArray);

</script>

控制臺輸出:


{"name":"foo","email":"foo@gmail.com","age":30}

說明: json_encode函數(shù)會將數(shù)組轉(zhuǎn)換為json字符串,JavaScript 會將其視為字符串,并且在賦值時需要用引號將其'或覆蓋"。


希望這有幫助。


查看完整回答
反對 回復 2023-07-08
  • 2 回答
  • 0 關(guān)注
  • 203 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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