PHP关联数组并集值

时间:2018-07-04 00:06:49

标签: php arrays multidimensional-array union

我有一个关联数组,想重复值以匹配主数组中的每个数组,我什至不知道如何更好地解释我需要完成的工作,但是下面的图片恰好显示了我想要做的事情。 这是数组:

$dd = array();
$dd['Type'] = array('Fitted Case/Skin', 'Housing');
$dd['Compatible Model'] = array('For Apple iPhone 5', 'For Apple iPhone 5s','For Alcatel Pixi 4','For Alcatel Pixi 4 Plus Power');

请注意,两个数组都有不同的值计数,我需要循环每个数组并创建一个以Main Array Keys为标题的html表,并循环遍历表行的每个数组,但是我需要匹配计数并重复缺少的内容价值观。 很抱歉,我的解释不正确,但我已尽力而为,Html Table

我找到了解决方法here

2 个答案:

答案 0 :(得分:0)

这将遍历整个第一个数组,并为每个第一个数组打印所有类型。

foreach($dd['Type'] as $type){
  foreach($dd['Compatible Model'] as $phone){
    echo "$type -> $phone";
  }
}

但我确实建议您考虑一个合适的数据结构。 还有另一条建议。不要使用复杂的数组键。没有大写字母,没有空格。

您应该将数据存储在数据库中,例如:

product | id | name 
phone   | id | name | id_of_product_it_supports_and_for_each_support_a_new_entry

然后将其与表联接合并,并获得每种产品的特定结果。

答案 1 :(得分:0)

我认为您需要的是这样的东西:

$dd = array();
$dd['color'] = array('Red', 'black', 'white');
$dd['model'] = array('iphone', 'samsung');

foreach($dd['model'] as $model) {
    foreach($dd['color'] as $color) {
        print_r($model . ': ' . $color . PHP_EOL);
    }
}

输出是一个像这样的表:

iphone: Red
iphone: black
iphone: white
samsung: Red
samsung: black
samsung: white