簡體   English   中英

如何將 PHP json_decode() function 用於 JSON 對象數組

[英]how to use PHP json_decode() function for array of JSON objects

我有一個 PHP 對象數組。 這些對象是 json_encoded。 然后我在 html 中顯示一個表格,使用一個 object 中的屬性作為表格中的一行。 為此,我使用 for 循環一個一個地對對象進行 json_decode 並顯示表格。 但是在 json_decoding 之后我沒有得到原來的 object 回來。 我無法訪問它的變量。

<?php
for ($x = 0; $x <= sizeof($objArray); $x++) {
    $obj = $objArray[$x];
    $obj = json_decode($obj);
?>
    <tr id="<?php echo $x ?>">
        <th id="obj-<?php echo $x ?>"><?php echo $obj->getName() ?></td>
        <td><?php echo $obj->getSchool() ?></td>
        <td>Pending</td>
    </tr>
<?php }
?>

我在服務器端用於返回對象的代碼如下

$objs = //array of php objects 
$objArray =array();

foreach($objs as $values){
    array_push($objArray,json_encode($values));
}
return json_encode($objArray);

Because you are using json_encode and json_decode the PHP object will be translated into a pure json string and any PHP related information about this object, like methods will be lost.

您可以在服務器端使用序列化將 object 轉換為字符串,並保留 php 的所有相關 object 信息。

然后,在您的前端代碼中,您可以使用反序列化將字符串轉換回有效的 PHP object。

一個小的旁注:在您的代碼示例中,您將json_encoding您的值兩次。 這也可能導致不必要的副作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM