PHP配列といくつかの比較に少し問題があります。私の悪い英語でごめんなさい:(
画像管理システムを構築しています。一度に複数の写真を選択し、選択したすべての写真の情報を編集できます。ただし、一部のフィールドは既に入力されています。特定のフィールドに複数の画像の異なる情報が入力されている場合は、ユーザーに「*」文字を表示したいと思います。
私の問題は次のとおりです。 - 選択したすべての写真の mySQL クエリ結果を含む 2 次元配列があります (この数はもちろん不定です)。結果の配列の例を次に示します。
Array
(
[0] => Array
(
[Folder_id] => 40
[Title_fr] => test
[Title_en] =>
[Desc_fr] =>
[Desc_en] =>
[Place_fr] => Koksijde, Belgique
[Place_en] => Koksijde, Belgium
[Place_ICAO] => EBBE
[Place_city] =>
[Place_country] => be
)
[1] => Array
(
[Folder_id] => 40
[Title_fr] => test
[Title_en] =>
[Desc_fr] =>
[Desc_en] =>
[Place_fr] => Koksijde, Belgique
[Place_en] => Koksijde, Belgium
[Place_ICAO] => EBBE
[Place_city] =>
[Place_country] => be
)
[2] => Array
(
[Folder_id] => 40
[Title_fr] => test
[Title_en] =>
[Desc_fr] =>
[Desc_en] =>
[Place_fr] => Koksijde, Belgique
[Place_en] => Koksijde, Belgium
[Place_ICAO] => EBBE
[Place_city] =>
[Place_country] => be
)
[3] => Array
(
[Folder_id] => 51
[Title_fr] => test
[Title_en] =>
[Desc_fr] =>
[Desc_en] =>
[Place_fr] => FRANC
[Place_en] => ANGLE
[Place_ICAO] => ENGL
[Place_city] => Münich2
[Place_country] => de
)
ご覧のとおり、すべてのレコードに共通のフィールドもあれば、異なるフィールドもあります。たとえば、[Place_fr] はすべてのレコードで同じではありませんが、[Desc_fr] は同じです。
すべてのフィールドをキーとして配列を返し、このフィールドがレコード間で異なる値を含む場合は値として '*' を返し、すべてのレコードに共通の場合は値を返す関数をコーディングしたいと思います。
たとえば、ここでの結果は次のようになります。
Array
(
[Folder_id] => *
[Title_fr] => test
[Title_en] =>
[Desc_fr] =>
[Desc_en] =>
[Place_fr] => *
[Place_en] => *
[Place_ICAO] => *
[Place_city] => *
[Place_country] => *
)
これは、array_diff_assoc() を使用して実行できることを知っています。2 つの配列で行うのは非常に簡単です。問題は、この関数に無数の引数を渡す必要があり、これをどのように解決できるかわかりません。
初歩的な質問で申し訳ありません-私は配列に関しては初心者です。
助けてくれてありがとう !