繁体   English   中英

如何从 PHP 中的多维数组回显数据?

[英]How to echo data from a Multi-Dimensional Array in PHP?

我需要像这样将数据回显/返回到页面:

目录: 251-2010
规格: 20g
长度: 10cm
尖端尺寸: 10mm

这是一个名为 $vararray 的数组。 它包含几个不同的 arrays 的产品变异数据:

array(3) { 
    [0]=> array(1) { 
        ["251-2010"]=> array(1) { 
            ["Gauge"]=> string(3) "20g" 
        } 
    } 
    [1]=> array(1) { 
        ["251-2010"]=> array(1) { 
            ["Length"]=> string(4) "10cm" 
        } 
    } 
    [2]=> array(1) { 
        ["251-2010"]=> array(1) { 
            ["Tip Size"]=> string(4) "10mm" 
        } 
    } 
}
array(3) { 
    [0]=> array(1) { 
        ["600-VR1620"]=> array(1) { 
            ["Chart Type"]=> string(14) "Shirt" 
        } 
    } 
    [1]=> array(1) { 
        ["600-VR1152"]=> array(1) { 
            ["Chart Type"]=> string(13) "Trousers" 
        } 
    } 
    [2]=> array(1) { 
        ["600-VR16211"]=> array(1) { 
            ["Chart Type"]=> string(13) "Socks" 
        } 
    } 
}

我需要这样的东西:

$vargroup = array();

foreach ($vararray as $vitems) {

    $varmeta = array_values($vararray);

    foreach ($varmeta as $metain => $vardetails) {
  
        vargroup[$metain]['catalog'] = $vardetails['Catalog'];
        vargroup[$metain]['gauge'] = $vardetails['Gauge'];
        vargroup[$metain]['length'] = $vardetails['Length'];
        vargroup[$metain]['tipsize'] = $vardetails['Tip Size'];

    }
    $vars_profile = '';
    foreach ($vargroup as $vgrp) {
        $vars_profile .= $vgrp[catalog] . '<br>' . $vgrp[gauge] . '<br>' . $vgrp[length] . '<br>' . $vgrp[tipsize];
    }
    return $vars_profile;
}

我很难做到正确。

您无法从同一个$vardetails元素中获取所有CatalogGaugeLengthTip Size ,它们位于数组的不同元素中。 您需要深入研究每个元素以获取其键和值。

您可以在处理原始数组的循环中创建$vars_profile ,您不需要$vargroup

$vars_profile = '';

foreach ($vararray as $vitems) {
    foreach ($vitems as $metain => $vardetails) {
        $vars_profile = "Catalog: $metain<br>";
        foreach ($vardetails as $key => $value) {
            $vars_profile = "$key: $value</br>";
        }
    }
}

return $vars_profile;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM