[英]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.