【问题标题】:Combine multiple arrays php合并多个数组php
【发布时间】:2015-09-04 16:11:00
【问题描述】:

我需要使用一些数组并匹配它们,实际上我找到了一个解决方案,但这对我来说不是一个完美的解决方案,因为我没有 3($array) 如何使用打印另一个 foreach 的 foreach ? :D

其实我用的是这个解决方案:

//options
$array = ["13", "14", "15"];
$tutti = [
    "111" => "13", 
    "222" => "13", 
    "333" => "14", 
    "444" => "14", 
    "555" => "14", 
    "666" => "14", 
    "777" => "15", 
    "888" => "15"
];

$realarray = [];
$n_arrays = count($array); // 3 options

if ($n_arrays > 1) { // there is more of 1 option
    foreach ($tutti as $key => $value) {
        if ($value == $array[0]) {
            foreach ($tutti as $key2 => $value2) {
                if ($value2 != $array[0] && $value2 != $array[2]) {
                    foreach ($tutti as $key3 => $value3) {
                        if ($value3 != $array[0] && $value3 != $array[1]) {
                            echo "$key -> $key2 -> $key3<br>";
                            $realarray[] = "$key,$key2,$key3";
                        }
                    }
                }
            }
        }
    }
}

print_r($realarray);

【问题讨论】:

  • 你想要完成什么?
  • 添加一些示例输出
  • 是的,请提供预期的输出。并澄清这一点:“因为我从来没有 3($array)”你是什么意思?

标签: php arrays foreach


【解决方案1】:

尝试像这样构建一个新数组:

$new_arr = Array();
foreach($tuttui AS $k => $v){
    $new_arr[$v][] = $k;
}

然后检查第一个数组中的 $value 是否在较大的数组中找到:

for($i=0; $i < count($array); $i++){
    if(in_array($array[$i], $new_arr[$array[$i]])){
         //Then do whatever you need
    }
} 

【讨论】:

    猜你喜欢
    • 2013-04-01
    • 2013-03-08
    • 1970-01-01
    • 2019-10-08
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多