私は以下のように返すAPIを持っています。PHP - foreachの重複問題
$arrays = array(
"1" => array(
"name" => "Mike",
"date" => "1/2/2016",
"criterion" => array(
"1" => array(
"label" => "Value for Money",
"scores" => "5"
),
"2" => array(
"label" => "Policy Features And Benefits",
"scores" => "1.5"
),
"3" => array(
"label" => "Customer Service",
"scores" => "3"
)
)
),
"2" => array(
"name" => "Megu",
"date" => "1/2/2015",
"criterion" => array(
"1" => array(
"label" => "Value for Money",
"scores" => "2"
),
"2" => array(
"label" => "Policy Features And Benefits",
"scores" => "3.5"
),
"3" => array(
"label" => "Customer Service",
"scores" => "1"
)
)
)
);
そしてPHPコード:
$output = '';
$output_criterion = '';
foreach($arrays as $a){
$criterions_arr = $a['criterion'];
foreach($criterions_arr as $c){
$output_criterion .= $c['label'] . ' - ' . $c['scores'] . '<br/>';
}
$output .= $a['name'] . '<br/>' . $output_criterion . '<br/>';
}
echo $output;
結果:私はに結果を希望しかし
Mike
Value for Money - 5
Policy Features And Benefits - 1.5
Customer Service - 3
Megu
Value for Money - 5
Policy Features And Benefits - 1.5
Customer Service - 3
Value for Money - 2
Policy Features And Benefits - 3.5
Customer Service - 1
ネストされたforeachループで重複することなく以下のようになります。
Mike
Value for Money - 5
Policy Features And Benefits - 1.5
Customer Service - 3
Megu
Value for Money - 2
Policy Features And Benefits - 3.5
Customer Service - 1
どうすればいいですか?私はarray_uniqueを使っていますが、 'score'ではなく 'label'でしか動作しないようです。アドバンス
良い答えが変更を説明しています。とにかく+1を見つけるために – Thamilan
すごく感謝して、それは簡単です!それを認識していない! – Mike