質問: isset($_COOKIE["page"]) ? $_COOKIE["page"] : ""; // リスト出力 echo_list_content($array); ```
回答: エラーなく実行できるところがこれなんで、とりあえず、質問をこれに修正してもらえませんか? //hereっていうところが添削したところです。すみませんが、どう違うかは自分でみてください。 まだ理想になっているかまで見てませんが、とにかくここが出発点です。 ``` array( array( 'action'=>'escape', 'dialogue'=>'覚えてやがれー!', 'time'=>array('2019-01-02 18:00:00.000','2019-01-01 13:00:00.000'), 'last_update'=>'2019-01-02 18:00:00.000', 'id'=>array('9','1'), 'page'=>'1', ), array( 'action'=>'attack', 'target'=>'6', 'time'=>array('2019-01-02 15:00:00.000','2019-01-02 01:00:00.000'), 'last_update'=>'2019-01-02 15:00:00.000', 'id'=>array('14','8'), 'page'=>'1', ), ), '2019-01-01'=> array( array( 'action'=>'propose', 'dialogue'=>'たこ焼きはいかがでしょうか?', 'time'=>array('2019-01-01 15:00:00.000','2019-01-01 01:00:00.000'), 'last_update'=>'2019-01-01 15:00:00.000', 'id'=>array('36','5'), 'page'=>'1', ), array( 'action'=>'attack', 'target'=>'7', 'time'=>array('2019-01-01 16:00:00.000','2018-12-31 22:00:00.000','2018-12-25 12:00:00.000'), 'last_update'=>'2019-01-01 16:00:00.000', 'id'=>array('1','15','3'), 'page'=>'2', // 4つ目の配列なので2になる ), ), ); /* idをリストで出力するための関数 */ function echo_list_id($array/* //here 追加*/){ foreach ($array['id'] as $id) { //here echo ''.$id.'番さん'; //here } } /* 配列をリストで出力するための関数 */ function echo_list_content($array/* //here $pageはやめた*/, $page = "1" /* //here 追加*/){ // リスト出力 echo ''; foreach ($array as $key => $ks) { foreach($ks as $k){ //here $date = substr($k['last_update'], 0, strcspn($k['last_update'],' ')); // 日付だけ取得 // 該当ページの配列だけ出力する if( $k['page'] == $page ){ // attackの場合 if( $k['action'] == 'attack' ){ echo ''; echo ''.$k['target'].'番さんがattackされました!'; echo 'attackした人の一覧です。'; echo ''.echo_list_id($k).''; echo ''.$date.''; echo ''; } // escapeの場合 if( $k['action'] == 'escape' ){ echo ''; echo 'escapeした人の一覧です。'; echo ''.echo_list_id($k).''; echo ''.$k['dialogue'].''; echo ''.$date.''; echo ''; } // proposeの場合 if( $k['action'] == 'propose' ){ echo ''; //here echo ''.$k['page'][0].'番さんと'.$k['page'][1].'番さんがproposeしています。'; echo ''.$k['dialogue'].''; echo ''.$date.''; echo ''; } } } //here } echo ''; // 次のページを更新 $nextpage = $page++; //setcookie("page", $nextpage); //here 出力後にcookieかいちゃだめやで } /* ページごとにリスト出力 */ // ページを取得 $page = isset($_COOKIE["page"]) ? $_COOKIE["page"] : ""; // リスト出力 echo_list_content($array); ```