繁体   English   中英

从多维数组打印数据

[英]Printing data from a multidimensional array

我正在尝试遍历此数组,该数组来自数据库并将Field_NameField_Value输出到网页。

Array
(
    [0] => stdClass Object
        (
            [Field_Name] => First Name
            [Field_Value] => søren
        )

    [1] => stdClass Object
        (
            [Field_Name] => Last Name
            [Field_Value] => hansen
        )

    [2] => stdClass Object
        (
            [Field_Name] => Email
            [Field_Value] => s.hansen@hansens.dk
        )

    [3] => stdClass Object
        (
            [Field_Name] => medlem
            [Field_Value] => ja
        )

    [4] => stdClass Object
        (
            [Field_Name] => Profilbillede
            [Field_Value] => sCZ
        )

    [5] => stdClass Object
        (
            [Field_Name] => bestyrelse
            [Field_Value] => nej
        )

)

如果我使用:

$count=0;
while ($count < 6) {
    $newdata = $data[$count];
    foreach ($newdata as $key => $val) {
        echo "<div class='list'>" . $key . " = " . $val . "</div><br><br>";
    }
$count++;
}

我得到:

Field_Name = First Name



Field_Value = søren



Field_Name = Last Name



Field_Value = hansen

等等....

但是我需要摆脱Field_NameField_Value以便数组看起来像:

First Name: Søren

Last Name: Hansen

我已经尝试过使用$data[0]["Field_name"] ,但是它不起作用。 我现在要疯了,所以我需要朝着正确的方向努力。

我希望我已经清楚我需要做什么。

次级维度不是数组,而是对象! 所以你不能那样访问他们。

简而言之,您应该可以执行类似$ data [0]-> Field_name的操作或将其转换为数组,然后$ data [0] [“ Field_name”]可以工作!

我想您正在寻找类似的东西。

//assuming you have data stored in $data..
$newdata = array();
foreach ($data as $object){

    if ($object->Field_Name && $object->Field_Value){

       $newData[$object->Field_Name] = $object->Field_Value;

    }      

} 

为此更改您的foreach:

$count=0;
while ($count < 6) {
    $newdata = $data[$count];
    echo "<div class='list'>" . $newdata["Field_Name"] . " = " . $newdata["Field_Value"] . "</div>   <br><br>";
    $count++;
}

暂无
暂无

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

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