PHP - Ds Stack::jsonSerialize() 函数



PHP 的 Ds\Stack::jsonSerialize() 函数用于检索可以转换为 JSON 格式的元素的表示形式。

JSON 代表“JavaScript 对象表示法”,是一种开放标准的文件格式和数据交换格式,它使用人类可读的文本存储和传输数据对象,这些对象由属性-值对和数组组成。

注意:永远不要直接调用此函数。

语法

以下是 PHP Ds\Stack::jsonSerialize() 函数的语法:

public JsonSerializable::jsonSerialize(): mixed

参数

此函数不接受任何参数。

返回值

此函数返回可以转换为 JSON 的表示形式。

示例 1

以下是 PHP Ds\Stack::jsonSerialize() 函数的基本示例:

<?php
class Demo implements JsonSerializable {
    public function __construct(array $my_arr) {
        $this->array = $my_arr;
    }

    public function jsonSerialize(){
        return $this->array;
    }
}
$my_arr = [10, 20, 30, 40, 50];
echo "The elements before converting to JSON format: \n";
print_r($my_arr);
echo "The elements after converting to JSON format: \n";
echo json_encode(new Demo($my_arr), JSON_PRETTY_PRINT);
?>

输出

以上程序显示以下输出:

The elements before converting to JSON format:
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)
The elements after converting to JSON format:
[
    10,
    20,
    30,
    40,
    50
]

示例 2

以下是 PHP Ds\Stack::jsonSerialize() 函数的另一个示例。我们使用此函数来检索可以转换为 JSON 格式的表示形式:

<?php
class Demo implements JsonSerializable {
    public function __construct(array $vowels) {
        $this->array = $vowels;
    }
    public function jsonSerialize(){
        return $this->array;
    }
}
$vowels = ['a', 'e', 'o', 'i', 'u'];
echo "The elements before converting to JSON format: \n";
print_r($vowels);
echo "The elements after converting to JSON format: \n";
echo json_encode(new Demo($vowels), JSON_PRETTY_PRINT);
?>

输出

执行上述程序后,将显示以下输出

The elements before converting to JSON format:
Array
(
    [0] => a
    [1] => e
    [2] => o
    [3] => i
    [4] => u
)
The elements after converting to JSON format:
[
    "a",
    "e",
    "o",
    "i",
    "u"
]
php_function_reference.htm
广告