多次元配列を通常の配列に縮小する際にいくつか問題があります。
私はこのような入力配列を持っています:
Array
(
[0] => Array (
[0] => 17
[1] => 99
)
[1] => Array (
[0] => 17
[1] => 121
)
[2] => Array (
[0] => 99
[1] => 77
)
[3] => Array (
[0] => 45
[1] => 51
)
[4] => Array (
[0] => 45
[1] => 131
)
したがって、値が重複している多次元配列(17,99と17,121など)があります。次に、次のような出力が必要です。
Array
(
[0] => Array (
[0] => 17
[1] => 99
[2] => 121
[3] => 77
)
[2] => Array (
[0] => 45
[1] => 51
[3] => 131
)
この方法でデータベース内の同じ記事を保存したいと思います。出力配列shpuldは引き続き多次元配列ですが、2番目のレベルのすべての数値は配列内で一意である必要があります。
私はこれを1週間以上解決しようとしていますが、うまくいきません。私はそれが簡単であるべきだと知っています...しかしとにかく-私はそれを取得しません:D
これは私がこれまでに得たものです:
$parity_sorted = array();
foreach($arr as $key => $a){
if(count($parity_sorted) > 0){
foreach($parity_sorted as $key2 => $arr_new){
if(in_array($a[0], $arr_new) || in_array($a[1], $arr_new)){
if(!in_array($a[0], $arr_new)){array_push($parity_sorted[$key2], $a[0]);}
if(!in_array($a[1], $arr_new)){array_push($parity_sorted[$key2], $a[1]);}
} else {
array_push($parity_sorted, array($a[0],$a[1]));
}
}
} else {
array_push($parity_sorted, array($a[0],$a[1]));
}
}
あなたはすでにこのような問題を解決したのでしょうか、それとももっと簡単な方法がありますか?多分私はあまりにも複雑だと思います(これは私の最初の試みではありませんが、このコードは最後の試みでした)
どんな助けでもいただければ幸いです。どうもありがとう