I以下の配列を有する:PHP多次元アレイは、特定の寸法に重複を見つける
$masterlist=[$companies][$fieldsofcompany][0][$number]
$fieldsofcompany
=位置2から選択されたフィールドが数値の配列を含む場合に三次元にのみ存在します。他の位置には通常の変数が含まれます。 3次元目は常に0(数値配列)またはNullです。ポジション4は数字を含む。
私は全企業を巡回し、重複番号を含むすべての企業$masterlist
から削除したいと考えています。テーブルに数字と関連IDを挿入し
for($i=0;$i<count($masterlist);$i++)
{
if($masterlist[$i][2][0][0] != null)
$id = $masterlist[$i][0];
for($j=0;$j<count($masterlist[$i][2][0]);$j++)
{
$number = $masterlist[$i][2][0][$j];
$query = "INSERT INTO numbers VALUES('$id','$number')";
mysql_query($query);
}
}
:
私の現在の実装では、このコードです。次のように一意の番号を選択します。
SELECT ID,number
FROM numbers
GROUP BY number
HAVING (COUNT(number)=1)
これは私を信じられないほど脳死にします。私の質問は、これを行うための最善の方法は何ですか?私はコード自体は探していませんが、問題に近づいています。これまでに読んだことのある人のために、ありがとう。
これは、私はおそらく何です探していますが、他の誰かが追加の配列書き込みを必要としないものが出てくるのを見るのを待つつもりです。ありがとう。 –
@Edgar Velasquez Limまあ、もしあなたが1,000,000以下のユニークな数字を持っていれば、あなたはこのテクニックで大丈夫でしょう。このコードを頻繁に実行しないと、まったく問題になりません。キーを使用してアレイとルックアップを使用することは、リソースの使用量に関して非常に安価です。 – zaf
同意すると、私の興味は今のところ何よりも学問的です。 :) –