phpの配列はメモリ上に配置されており、これをストレージに保存したり、ブラウザなどクライアント先に一定の書式で出力するためには、何らかのシリアライズ(serialize)という処理をする必要が有ります。
<?php // declare data $data = [ 'Taro'=>['age'=>30, 'hobby'=>['Guitar','Piano']], 'Takeshi'=>['age'=>18, 'hobby'=>['Reading']], 'Arisa'=>['age'=>16, 'hobby'=>['Walking','Tea']], 'Sara'=>['age'=>22, 'hobby'=>['Sleeping']] ]; $file = "serialize-test.txt"; $str = serialize($data); file_put_contents($file, $str); $str = serialize($data); file_put_contents($file, $str); $str2 = file_get_contents($file); $data2 = unserialize($str2); // display Arisa hobby print_r($data2['Arisa']['hobby']);