2013-05-14 16 views
0

我是PHP新手。我想要做的是在foreach循環中隱藏相同的數據。如何使用PHP在foreach循環中對相同的下一個值進行排序?

這裏是我的代碼:

foreach($recording_record as $row){ 
echo $row->criteria_title; 
echo $row->question_title; 
} 

我目前的界面:enter image description here

我多麼希望我的接口爲:

enter image description here

這是我的print_r數據:

Array ([0] => stdClass Object ([record_id] => 6 [qm_id] => 2 [qm_title] => QM LEAD 2 [record_filename] => abcdefgh.mp3 [userid] => 1002 [unique_id] => 1325554791.71044 [supervisor_id] => 1000 [date_created] => 2013-05-14 05:29:24 [status] => 3 [id] => 6 [callid] => 1325554791.71044 [callerid] => 0383153394 [queuename] => t1-BM_OE [extension] => SIP/1003 [ivrtime] => 2013-05-14 11:14:36 [queuetime] => 2012-01-03 09:40:33 [connecttime] => 2013-05-09 09:40:36 [disconnecttime] => 2012-01-03 09:46:34 [callduration] => 358 [holdduration] => 0 [queueduration] => 3 [ansduration] => 3 [ringduration] => 0 [lastevent] => COMPLETEAGENT [transfer] => [wrapups] => ,12 [tenantid] => 1 [supervisor] => 1005 [username] => Fara [userpass] => 1234 [lastname] => Binti Johari [firstname] => Nurul Farahhin [userlevel] => 2 [usercreated] => 2011-03-26 23:11:56 [lastlogin] => 2012-10-13 20:17:10 [userexten] => [sessionid] => [userstatusid] => 0 [apptype] => webagent [statustimestamp] => 2012-10-13 20:33:21 [lastuserstatusid] => 1 [pqueuetimeout] => 0 [queueroutetype] => 1 [queueroutevalue] => 4 [userdbstatus] => A [criteria_id] => 1 [criteria_title] => Did not demonstrate inappropriate behavior - Zero Tolerance Policy [criteria_rate] => 40 [question_id] => 4 [question_title] => Question 2 [question_type] => n [question_score_y_yes] => [question_score_y_no] => [question_score_y_answer] => [question_score_y] => [question_score_n_a] => 1 [question_score_n_a_value] => True [question_score_n_b] => 0 [question_score_n_b_value] => False [question_score_n_c] => 0 [question_score_n_c_value] => [question_score_n_d] => 0 [question_score_n_d_value] => [question_score_n_e] => 0 [question_score_n_e_value] => [question_score_n_answer] => [question_score_n] =>) [1] => stdClass Object ([record_id] => 6 [qm_id] => 2 [qm_title] => QM LEAD 2 [record_filename] => abcdefgh.mp3 [userid] => 1002 [unique_id] => 1325554791.71044 [supervisor_id] => 1000 [date_created] => 2013-05-14 05:29:24 [status] => 3 [id] => 6 [callid] => 1325554791.71044 [callerid] => 0383153394 [queuename] => t1-BM_OE [extension] => SIP/1003 [ivrtime] => 2013-05-14 11:14:36 [queuetime] => 2012-01-03 09:40:33 [connecttime] => 2013-05-09 09:40:36 [disconnecttime] => 2012-01-03 09:46:34 [callduration] => 358 [holdduration] => 0 [queueduration] => 3 [ansduration] => 3 [ringduration] => 0 [lastevent] => COMPLETEAGENT [transfer] => [wrapups] => ,12 [tenantid] => 1 [supervisor] => 1005 [username] => Fara [userpass] => 1234 [lastname] => Binti Johari [firstname] => Nurul Farahhin [userlevel] => 2 [usercreated] => 2011-03-26 23:11:56 [lastlogin] => 2012-10-13 20:17:10 [userexten] => [sessionid] => [userstatusid] => 0 [apptype] => webagent [statustimestamp] => 2012-10-13 20:33:21 [lastuserstatusid] => 1 [pqueuetimeout] => 0 [queueroutetype] => 1 [queueroutevalue] => 4 [userdbstatus] => A [criteria_id] => 1 [criteria_title] => Did not demonstrate inappropriate behavior - Zero Tolerance Policy [criteria_rate] => 40 [question_id] => 3 [question_title] => Question 1 [question_type] => y [question_score_y_yes] => 1 [question_score_y_no] => 0 [question_score_y_answer] => [question_score_y] => [question_score_n_a] => [question_score_n_a_value] => [question_score_n_b] => [question_score_n_b_value] => [question_score_n_c] => [question_score_n_c_value] => [question_score_n_d] => [question_score_n_d_value] => [question_score_n_e] => [question_score_n_e_value] => [question_score_n_answer] => [question_score_n] =>) 

任何想法如何做到這一點?

+0

什麼是你的數據的結構? I.E. '$ row'裏面是什麼? – 2013-05-14 09:15:25

+0

這是我的$行例如stdClass的對象([RECORD_ID] => 6 [qm_id] => 2 [qm_title] => QM引線2 [record_filename] => abcdefgh.mp3等... – Oscar 2013-05-14 09:18:44

回答

0
$i = 0; 
$criteria = array(); 
foreach($recording_record as $row){ 

    $criteria[$i] = $row->criteria_title; 
    if($i > 0){ 
     if ($criteria[$i] != $criteria[$i-1]){ 
     echo $criteria[$i]; 
     } 
    } else { 
     echo $criteria[$i]; 
    } 

    echo $row->question_title; 
    $i++; 
} 
+0

感謝查理,它幾乎都有,但問題我有不同criteria_title多還,我只是想進行排序,如果有相同criteria_title在循環,是不可能的? – Oscar 2013-05-14 09:25:39

+0

答案已更新:);讓我知道發生了什麼。 – egig 2013-05-14 09:35:00

+0

我添加了你的代碼後,現在我的界面變成了空白而沒有錯誤,你知道會發生什麼嗎? – Oscar 2013-05-14 09:43:51

0

使用此

$new_recording_record = array_unique($recording_record); 
+0

喜Sudz,可以提供完整的代碼對於我?我現在使用codeigniter,所以我不知道如何把你的代碼放在我的代碼中,謝謝:) – Oscar 2013-05-14 09:16:08

+0

你可以直接在CodeIgniter中使用它。在foreach循環中使用$ new_recording_record變量而不是$ recording_record。 – Sudz 2013-05-14 09:17:38

+0

它的工作,但我得到了很多問題,現在只能說明一個問題,而不是很多問題 – Oscar 2013-05-14 09:20:25

0

檢查工作的嗎?

$i = 1; 
foreach($recording_record as $row){ 
    $title = $row->criteria_title; 
    $question_title = $row->question_title; 

    if($ငငငi==1) 
     echo $title; 

    echo $question_title; 

    $i++; 
} 
+0

它不是爲我工作:( – Oscar 2013-05-14 09:26:04

+0

抱歉,我是回答這一:)這應該工作.. – zaw 2013-05-14 15:49:02

0

試試這個:

echo $recording_record[0]->criteria_title; 
foreach($recording_record as $row){ 

echo $row->question_title; 
} 
+0

感謝阿卜杜勒·奎德時手忙腳亂,它的工作,但這個問題我有不同criteria_title多還,我只是想進行排序,如果有相同的criteria_title – Oscar 2013-05-14 09:23:36

相關問題