2013-01-12 43 views
0

我有這個查詢。 where子句是一個數組,它工作正常。如何計算從查詢返回的多個數組,

我需要計數單獨陣列的數目返回,是否有任何的方式來做到這一點,

輸出是:
陣列([0] => 64)陣列([0] => 64 [ 1] => 65)。

 //////////////////////////////////////////////////// 
    $message = explode(",", $message_arrayME); 
    //////////////////////////////////////////////////// 
    $i = 0; 
    foreach ($message as $key => $value) { 
    $i++; // increment $i by one each loop pass 
    //////////////////////////////////////////////////// 


    $q = mysqli_prepare($conn, ' SELECT member_id FROM members WHERE message_id=? '); 
    mysqli_stmt_bind_param($q, 's', $value); 
    mysqli_stmt_execute($q); 
    mysqli_stmt_store_result($q); 
    //$friendNumResult =mysqli_stmt_num_rows($q);  
    mysqli_stmt_bind_result($q, $memberId); 


    while($row = mysqli_stmt_fetch($q)): 

    $messageArrayNumResult[] = ' 
    '.$memberId.' 
    '; 
    endwhile; mysqli_stmt_close($q); 

    //echo $memberIdArray; 
    //$friendCount = count($memberIdArray); 
    //print_r($memberId); 

    $messageArray2 = implode(",",$messageArrayNumResult); 

    print_r($messageArrayNumResult); 

    } 

固定它:

$friendNum1 = implode(",", $messageArrayNumResult); 
    $friendNum2 = explode(",", $friendNum1); 
    $friendCount= count($friendNum2);} 

我傻:)

+0

你能否更清楚地陳述你的問題?這聽起來像你的數組的一代工作正常,但是你想要所有數組中的項目的總數量還是數組的數量? –

回答

0

取決於你如何把你的數據了,你可以在幾個不同的方式算什麼呢?如果你已經有一個排列的用戶是一個用戶的「朋友列表」,您可以只計算該陣列... EX:

$num_friends = count($friend_array); 

還取決於如何如果每個朋友連接都在一行中,並且沒有一行與所有朋友分開,那麼您將數據從數據庫中提取出來,只需計算行數即可。例如:

$q = mysqli_prepare($conn, ' SELECT member_id FROM members WHERE message_id=? '); 
$num_friends = $q->get_result(); 

第二行的排列here