2014-11-30 2 views
0

Я пытаюсь пропустить этот массив из базы данных и вывести Field_Name и Field_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] => [email protected] 
     ) 

    [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_Name и Field_Value так массив будет выглядеть так:

First Name: Søren 

Last Name: Hansen 

Я пробовал использовать $data[0]["Field_name"], но он не работает. Теперь я схожу с ума, поэтому мне нужно толчок в правильном направлении.

Надеюсь, я дал понять, что мне нужно сделать.

+0

Так что, если я хорошо понимаю, вы хотите, чтобы построить новый «классический» ассоциативные массив? или вы хотите отображать только определенную информацию из вашего исходного массива? –

+1

Как вы начинаете свой массив? – ElefantPhace

+0

Массив поступает из базы данных. (im довольно новичок здесь, поэтому я надеюсь, что это было то, что вы имели в виду) –

ответ

0

Я думаю, что вы ищете что-то вроде ..

//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; 

    }  

} 
0

Вторичные размеры не являются массивами, они являются объектами! поэтому вы не можете обращаться к ним так.

Вкратце вы должны быть способны сделать что-то вроде $ data [0] -> Поле_имя или преобразовать их в массивы, тогда $ data [0] ["Field_name"], будет работать!

+0

Еще одна вещь ... Я не уверен, как вы получаете эти данные из db, но если вы используете mysqli, вы можете использовать функцию fetch_assoc(), чтобы ее всегда передаются в виде массивов, поэтому вы можете делать $ data [0] ["Field_name"] – Chris

+0

Aha !! Это делает смысл ... он исходит из $ wpdb-> get_results(); встроенный в wordpress, поэтому я не уверен, что он использует. –

0

Изменить Еогеасп для этого:

$count=0; 
while ($count < 6) { 
    $newdata = $data[$count]; 
    echo "<div class='list'>" . $newdata["Field_Name"] . " = " . $newdata["Field_Value"] . "</div> <br><br>"; 
    $count++; 
} 
Смежные вопросы