2017-02-13 13 views
1

私はそのキーと値を2度表示する配列を持っています。データを表示する方法の例を次に示します。whileループで重複する配列値

Array ( 
[0] => 38 
[1] => 38 
[2] => 10 
[3] => 10 
[4] => B 
[5] => B 
[6] => 5 
[7] => 5 
[8] => 5 
[9] => 5 
[10] => 5 
[11] => 5 
[12] => 5 
[13] => 5 
[14] => 5 
[15] => 5 
[16] => 5 
[17] => 5 
[18] => 5 
[19] => 5 
) 

私はSOのソリューションを探してみましたが、それぞれのケースが見つかりました。キーだけを選択しようとしましたが、それはできませんでした。 array_unique()は、異なるフィールドに同じ値がある可能性があるため、私の場合は機能しません。

2回表示すると何が問題になるのですか?

<?php 
include_once "connect.php"; 

$intrebare_02 = mysqli_real_escape_string($con, $_POST['intrebare_02']); 

    $i = 0; 
    $array_sum=[]; 
    while ($i < 10){ 
     $i++; 
     $sql = "SELECT * FROM parteneri WHERE nr_intrebare = '$i' AND varianta_raspuns = '$intrebare_02'"; 
     $result = mysqli_query($con, $sql); 

     $final_array = array(); 
if ($i % 2 == 0) 
     while ($row = mysqli_fetch_array($result)) 
     { 

     $final_array = array_values($row); 
      $array_sum = array_map(function() { 
       return array_sum(func_get_args()); 
      }, $array_sum, $final_array); 
     } 
} 
print_r($final_array); 

さらに詳しい説明が必要な場合はお知らせください。

+0

あなたは '[1,3,5]'を '[1,1,3,3,5,5]'に変更したいのですか? –

+1

'$ row = mysqli_fetch_array($ result、MYSQLI_NUM)' ....そして、 'array_values()'のどちらかを呼び出す必要はありません。 –

+1

@ MarkBaker魅力的な働きをしました。私がそれを受け入れるために答えとして投稿してください。あなたが解決策を明確にすることができれば、それは素晴らしいことでしょう。ありがとうございました! :) – SporeDev

答えて

2

デフォルトでは、mysqli_fetch_array()は、行の各列に対して、(列名による)連想配列と列の順序付きの列を持つ配列を返します。ファンクションへの第2引数として、それぞれMYSQLI_ASSOCまたはMYSQLI_NUMフラグを使用することによって、連想配列のみか列挙型配列かを指定できます。

また、あなたが冒険を取得し、各列のパブリックオブジェクトのプロパティがあるオブジェクトを返すようにしたい場合は、単に列挙配列、またはmysqli_fetch_object()を返すことだけで連想配列、またはmysqli_fetch_row()を返すようにmysqli_fetch_assoc()機能を使用することができます

関連する問題