toshieeeee
11/20/2016 - 12:17 PM

reply function for tw

reply function for tw

<?php

/******************************************
▼MySQLのデータ構造
******************************************/

$tweet_table = array(

    array('tweet_id' => 0 , 'tweet_name' => 'toshiki', 'tweet_str' => 'こんにちは', 'rep_id' => 0),
    array('tweet_id' => 1 , 'tweet_name' => 'Parents', 'tweet_str' => 'こんばんは','rep_id' => 0),
    array('tweet_id' => 2 , 'tweet_name' => 'kana', 'tweet_str' => '@好きよ','rep_id' => 1),
    array('tweet_id' => 3 , 'tweet_name' => 'miki', 'tweet_str' => '@超好きよ','rep_id' => 1),
    array('tweet_id' => 4 , 'tweet_name' => 'yuki', 'tweet_str' => '@Je suis toshi','rep_id' => 1),
    array('tweet_id' => 5 , 'tweet_name' => 'taka', 'tweet_str' => 'Hi','rep_id' => 0),
    array('tweet_id' => 6 , 'tweet_name' => 'shin', 'tweet_str' => '@HI,Toshi!','rep_id' => 5),
    array('tweet_id' => 7 , 'tweet_name' => 'TK', 'tweet_str' => '@Good PHP!','rep_id' => 5),
    array('tweet_id' => 8 , 'tweet_name' => 'NK', 'tweet_str' => '@Good SQL!','rep_id' => 5),

);


/******************************************
▼リプライを、連想配列(2次元)に格納
******************************************/


foreach ($tweet_table as $value) {

  // foreachは、配列から、上から順番に、値を取り出す(暗黙のインデックスが隠れている)

  if($value['rep_id']){ // リプライツイートを、二次元配列に格納

    $rep_list[] = array(

      'tweet_id' => $value['tweet_id'],
      'tweet_name' => $value['tweet_name'],
      'tweet_str' => $value['tweet_str'],
      'rep_id' => $value['rep_id']

    );

  }

}

/******************************************
▼リプライを、連想配列(3次元)に格納
******************************************/


for($i = 0;  $i < count($tweet_table) ;$i++){

  for($k = 0;  $k < count($rep_list) ;$k++){

    if($tweet_table[$i]['tweet_id'] === $rep_list[$k]['rep_id']){

      $tweet_table[$i]['tweet_rep'][] =  $rep_list[$k]['tweet_str'];  
  
    }

  }

}

var_dump($tweet_table);