Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php n数组,n项,循环中循环_Php_Arrays_String_Loops - Fatal编程技术网

php n数组,n项,循环中循环

php n数组,n项,循环中循环,php,arrays,string,loops,Php,Arrays,String,Loops,我要创建此输出: LG LG#Spain LG#Spain#Paypal LG#Spain#Paypal#Male LG#Spain#Paypal#Female LG#Spain#CCard LG#Spain#CCard#Male LG#Spain#CCard#Female LG#Croatia LG#Croatia#Paypal LG#Croatia#Paypal#Male LG#Croatia#Paypal#Female LG#Croatia#CCard LG#Croatia#CCard#M

我要创建此输出:

LG LG#Spain LG#Spain#Paypal LG#Spain#Paypal#Male LG#Spain#Paypal#Female LG#Spain#CCard LG#Spain#CCard#Male LG#Spain#CCard#Female LG#Croatia LG#Croatia#Paypal LG#Croatia#Paypal#Male LG#Croatia#Paypal#Female LG#Croatia#CCard LG#Croatia#CCard#Male LG#Croatia#CCard#Female LG#Czech LG#Czech#Paypal LG#Czech#Paypal#Male LG#Czech#Paypal#Female LG#Czech#CCard LG#Czech#CCard#Male LG#Czech#CCard#Female Sony Sony#Spain Sony#Spain#Paypal Sony#Spain#Paypal#Male Sony#Spain#Paypal#Female Sony#Spain#CCard Sony#Spain#CCard#Male Sony#Spain#CCard#Female Sony#Croatia Sony#Croatia#Paypal Sony#Croatia#Paypal#Male Sony#Croatia#Paypal#Female Sony#Croatia#CCard Sony#Croatia#CCard#Male Sony#Croatia#CCard#Female Sony#Czech Sony#Czech#Paypal Sony#Czech#Paypal#Male Sony#Czech#Paypal#Female Sony#Czech#CCard Sony#Czech#CCard#Male Sony#Czech#CCard#Female LG LG#西班牙 LG#西班牙#贝宝 LG#西班牙#贝宝#男性 LG#西班牙#贝宝#女性 LG#西班牙#CCard LG#西班牙#CCard#男性 LG#西班牙#CCard#女性 克罗地亚 LG#克罗地亚#贝宝 LG#克罗地亚#贝宝#男性 LG#克罗地亚#贝宝#女性 LG#克罗地亚#CCard LG#克罗地亚#CCard#男性 LG#克罗地亚#CCard#女性 LG#捷克 LG#捷克#贝宝 LG#捷克#贝宝#男性 LG#捷克#贝宝#女性 LG#捷克#CCard LG#捷克#CCard#男性 LG#捷克#CCard#女性 索尼 索尼#西班牙 索尼#西班牙#贝宝 索尼#西班牙#贝宝#男 索尼#西班牙#贝宝#女性 索尼#西班牙#CCard 索尼#西班牙#CCard#男 索尼#西班牙#CCard#女性 索尼#克罗地亚 索尼#克罗地亚#贝宝 索尼#克罗地亚#贝宝#男 索尼#克罗地亚#贝宝#女性 索尼#克罗地亚#CCard 索尼#克罗地亚#CCard#男 索尼#克罗地亚#CCard#女 索尼#捷克 索尼#捷克#贝宝 索尼#捷克#贝宝#男 索尼#捷克#贝宝#女性 索尼#捷克#CCard 索尼#捷克#CCard#男 索尼#捷克#CCard#女性 我的代码是:

<?php

$delimiter = '#';

$keys = ['Brand','Country','Method','Gender'];
$arr[$keys[0]] = ['LG','Sony'];
$arr[$keys[1]] = ['Spain','Croatia','Czech'];
$arr[$keys[2]] = ['Paypal','CCard'];
$arr[$keys[3]] = ['Male','Female'];

$sizeofdims = sizeof($keys);
$main_key = $keys[0];


echo '<pre>';

foreach ($arr[$main_key] as $main_item)
{
    $key_handle = $main_item;
    echo "$key_handle\n";

    foreach ($keys as $i=>$k)
    {
        if ($k == $main_key)
        {
            continue;
        }

        foreach ($arr[$k] as $item)
        {
            $key_current = $key_handle;
            $key_handle .= $delimiter.$item;
            echo "$key_handle\n";

            if ($i+1 == $sizeofdims)
            {
                $key_handle = $key_current;
            }
            else
            {
                break;
            }

        }
    }
}

echo '</pre>';

为了开个玩笑,我将给出一个最简单的解决方案:

$array = array(
    'LG' => array(
        'Neverland' => array('Pirate gold', 'Magic coins', 'Fairy dust'), ), )
        'Fantasia' => array('Gems', 'Dragon Heartstring', 'Old underwear'), ),
    ),
    'Sony' => array(
        'Neverland' => array('Pirate gold', 'Magic coins', 'Fairy dust'), ), )
        'Fantasia' => array('Gems', 'Dragon Heartstring', 'Old underwear'), ),
    ),
);

但是下次你自己试试。

你的阵列更难使用。我建议将其重新组织为多维数组

foreach ($array as $brand => $countries) {
    echo $brand."<br />";
    foreach ($countries as $country => $paymentMethods) {
        echo $brand."#".$country."<br />";
        foreach ($paymentMethods as $paymentMethod) {
            echo $brand."#".$country."#".$paymentMethod."<br />";
        }
    }
}
现在您可以执行以下循环

foreach($brand=>$countries的数组){
echo$brand.“
”; foreach($countries as$country=>$paymentMethods){ echo$brand.#“$country.”
; foreach($paymentMethods作为$paymentMethod){ echo$brand.。#“$country.。#“$paymentMethod.”
; } } }
你尝试过什么吗?好吧,祝你好运。有问题要问还是…?我们相信你。你可以这样做,除非有问题,否则祝你好运:-)@RivnatNasah是的,我修改了它。。
$array = array(
    'LG' => array(
        'Neverland' => array('Pirate gold', 'Magic coins', 'Fairy dust'), ), )
        'Fantasia' => array('Gems', 'Dragon Heartstring', 'Old underwear'), ),
    ),
    'Sony' => array(
        'Neverland' => array('Pirate gold', 'Magic coins', 'Fairy dust'), ), )
        'Fantasia' => array('Gems', 'Dragon Heartstring', 'Old underwear'), ),
    ),
);
foreach ($array as $brand => $countries) {
    echo $brand."<br />";
    foreach ($countries as $country => $paymentMethods) {
        echo $brand."#".$country."<br />";
        foreach ($paymentMethods as $paymentMethod) {
            echo $brand."#".$country."#".$paymentMethod."<br />";
        }
    }
}