関数・クラス解説
JsonSerializable::jsonSerialize
version:PHP 5 >= 5.4.0, PHP 7 (公式)JSON にシリアライズしたいデータを指定する
公式リファレンス
書式
abstract public JsonSerializable::jsonSerialize ( ) : mixed
説明
オブジェクトをシリアライズして、 json_encode() がネイティブにシリアライズできる値にします。
パラメータ
この関数にはパラメータはありません。
返値
json_encode() でシリアライズするデータを返します。 resource 型以外の任意の型になります。
サンプル
例1 JsonSerializable::jsonSerialize() で配列を返す例
class ArrayValue implements JsonSerializable {
public function __construct(array $array) {
$this->array = $array;
}
public function jsonSerialize() {
return $this->array;
}
}
$array = [1, 2, 3];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
上の例の出力は以下となります。
[
1,
2,
3
]
例2 JsonSerializable::jsonSerialize() で連想配列を返す例
class ArrayValue implements JsonSerializable {
public function __construct(array $array) {
$this->array = $array;
}
public function jsonSerialize() {
return $this->array;
}
}
$array = ['foo' => 'bar', 'quux' => 'baz'];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
上の例の出力は以下となります。
{
"foo": "bar",
"quux": "baz"
}
例3 JsonSerializable::jsonSerialize() で整数値を返す例
class IntegerValue implements JsonSerializable {
public function __construct($number) {
$this->number = (integer) $number;
}
public function jsonSerialize() {
return $this->number;
}
}
echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT);
上の例の出力は以下となります。
1
例4 JsonSerializable::jsonSerialize() で文字列を返す例
class StringValue implements JsonSerializable {
public function __construct($string) {
$this->string = (string) $string;
}
public function jsonSerialize() {
return $this->string;
}
}
echo json_encode(new StringValue('Hello!'), JSON_PRETTY_PRINT);
上の例の出力は以下となります。
"Hello!"
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール