PHP - よく使う関数 - json


 クラウディア


1. 概要
2. 出力
3. 入力

1. 概要

 今や、マシン間のデータ受け渡しや、コンフィグレーションファイルとして重宝している、「.json」形式。  「.ini」や「.xml」から「.json」へと置き換わっているものもあるようです。  「PHP」でも、「.json」形式が扱えるようです。  公式の説明は、以下にあります。
PHP: JSON - Manual
 また、本ページは、下記のサイトを参考にさせていただきました。
【PHP】MySQL に保存しているデータを JSON で吐き出す」
「PHP で JSON データの取得の仕方

2. 出力


<?php
chdir(dirname(__FILE__));

$array = array();
$array[] = array('name' => 'hogehoge', 'age' => 20 );
$array[] = array('name' => 'fugafuga', 'age' => 21 );

$file = fopen("array.json", "w");

if (flock($file, LOCK_EX))
{
	$date = fwrite($file, json_encode($array));
	flock($file, LOCK_UN);
}

fclose($file);
 というソースを書いて実行すると、下記の「.json」ファイルを出力します。

[{"name":"hogehoge","age":20},{"name":"fugafuga","age":21}]

3. 入力

 前項で作成したファイルを読み込むソースを書いてみます。

<?php
chdir(dirname(__FILE__));

$file = fopen("array.json", "r");
$json = NULL;

if (flock($file, LOCK_EX))
{
	$json = fgets($file);
	flock($file, LOCK_UN);
}

fclose($file);

$array = json_decode($json, true);

print_r($array);
 というソースを書いて実行すると、下記の結果が得られます。

Array
(
    [0] => Array
        (
            [name] => hogehoge
            [age] => 20
        )

    [1] => Array
        (
            [name] => fugafuga
            [age] => 21
        )

)
 もうちょっと複雑な構造であったり、数値や文字列以外の型である場合は、どうなるのか?  そのあたりは、今後の課題になります。

audiobook.jp
AbemaTV 無料体験
U-NEXT
葬送のフリーレン Prime Video
5G CONNECT
earthcar(アースカー)
EaseUS
薬屋の独り言
JETBOY
ベルリッツ
TikTok Shop 【リピート用プログラム】
Amazonギフトカード
損保との違い
健康サポート特集
【usus ウズウズ】
それがだいじWi-Fi
サウンドハウス
EMEET 1
アフィリエイトのアクセストレード
ハイスピードプラン
ネットオークションの相場、統計、価格比較といえばオークファン