2016-04-29 2 views
-1

У меня возникают проблемы, пытаясь выходных значений массива на отдельные элементы списка, как так:Как вывести эти значения в список из PHP - array_keys()?

  • 1993 Mercedes Benze Собственный
  • 2006 Honda Fit Lease

. Вот результат по print_r($array):

Array 
(
    [0] => [{"Year":"1993","Make":"Mercedes","Model":"Benz","Lease/Own":"Own"},{"Year":"2016","Make":"Honda","Model":"Fit","Lease/Own":"Lease"}] 
) 

Однако формат является сложным для меня, и я не совсем уверен, где я должен идти дальше, чтобы выводить значения, когда они прокладываются, как это.

Я знаю, что он должен делать с array_keys(), но я потерял, куда идти отсюда, поскольку следующий не дает мне ничего:

print_r(array_keys($array)); 

Любые подсказки, чтобы указать меня в правильном направлении?

+3

Внутри вашего индекса 0 есть тип json. Итак, '$ val = json_decode ($ yourData [0], true);' then use 'array_keys' – aldrin27

ответ

2

Ничего вы показали не имеет ничего общего с array_keys(). Первым делом декодировать 0 индекс вашего массива, который JSON:

$result = json_decode($array[0], true); 

Затем цикл через него:

foreach($result as $value) { 
    echo "{$value['Year']} {$value['Make']} {$value['Model']} {$value['Lease/Own']}<br>\n"; 
} 

Если вам нужны ключи (год, марка, модель, Сдать/Own), как заголовков столбцов или любого другого, то вы можете использовать клавиши массива в первой строке результата:

foreach(array_keys($result[0]) as $heading) { 
    echo "$heading<br>\n"; 
} 
0

Попробуйте это:

echo '<ul>'; 
for ($i=0; $i <count($array[0]); $i++) { 
    echo '<li>' . $array[0][$i]->year . ' ' . $array[0][$i]->make . ' ' . $array[0][$i]->model . ' ' . $array[0][$i]->{"Lease/Own"} . '</li>'; 
} 
echo '</ul>'; 
1
echo "<ol>"; 
foreach ($array as $x) { 
    $x = json_decode($x); 
    $x = (array) $x; 
    foreach($x as $y) { 
     $data  = (array) $y; 
     $year  = $data['Year']; 
     $make  = $data['Make']; 
     $leaseOwn = $data['Lease/Own']; 

     echo ("<li>{$year} {$make} {$leaseOwn}</li>"); 
    } 
} 
echo "</ol>"; 
Смежные вопросы