我对PHP数组和我想要做的一些比较有点麻烦。对不起,因为我的英语不好:(比较所有键的多个阵列
我正在建立一个图片管理系统,用户可以一次选择多张图片,并编辑所有选定图片的信息,但有些字段已经填入 - 如果一个特定的字段被多个图片的不同信息填充,那么就想向用户显示'*'字符。
我的问题是以下内容: - 我有一个二维数组,包含所有mySQL查询结果选择的图片(这个数字当然是不确定的) 下面是一个结果数组的例子:
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使用来完成()。使用两个数组很容易。问题是我必须传递无限数量的参数给这个函数,我不知道如何解决这个问题。
对不起noob问题 - 我只是一个beginer当谈到阵列。
感谢您的帮助!
我其实觉得你的答案更好。 +1 – Antony 2013-02-08 16:43:37