У меня есть два отдельных массива, которые я использую на моей странице php.PHP Найти данные в массиве
Первый содержит все имена полей, которые я буду использовать для создания заголовков html-таблиц в пользовательском интерфейсе.
массив данных для этого выглядит так:
Array
(
[0] => Array
(
[fieldID] => 2
[fieldName] => Project Title
[fieldAlias] => initiativeTitle
)
[1] => Array
(
[fieldID] => 4
[fieldName] => Project Description (preview)
[fieldAlias] => initiativeDescriptionPreview
)
)
Далее, у меня есть набор данных всех записей, мне нужно напечатать к столу. key
в этом массиве соответствует fieldAlais
из массива заголовков.
Моя цель здесь состоит в том, чтобы перебрать массив заголовков и получить fieldAlias
, а затем перебрать данные и когда fieldAlias
из строки заголовка соответствует ключу в строке данных, он распечатает его.
Вот как я заполнить массив заголовка:
$primaryArray = Array();
if(isset($dashboardDetails->results->primary->fields)){
foreach($dashboardDetails->results->primary->fields as $p){
$primaryArray[] = array(
'fieldID' => (int)$p->fieldID,
'fieldName' => (string)$p->fieldName,
'fieldAlias' => (string)$p->alias
);
}
}
Это является примером объекта данных:
SimpleXMLElement Object
(
[data] => SimpleXMLElement Object
(
[initiativeDescriptionPreview] => This is a test description
[initiativeTitle] => Test
)
Вот бардак я работаю с на HTML таблицы:
<table class="table table-hover table-striped">
<thead>
<tr>
<?php
// Loop over the primary fields
for ($i = 0; $i < count($primaryArray); ++$i) {
echo '<th class="small">'.$primaryArray[$i]['fieldName'].'</th>';
}
?>
</tr>
</thead>
<tbody>
<?php
// For each field in our primary array
for ($i = 0; $i < count($primaryArray); ++$i) {
// Set our alais
$a = $primaryArray[$i]['fieldAlias'];
echo '<tr>';
// Loop over all of the records
foreach($dashboard->data as $value){
foreach($value as $key => $val){
if($key == $a){
echo '<td class="small">'.$val.'</td>';
}
}
}
echo '</tr>';
}
?>
</tbody>
</table>
Результатом этого является то, что его печать двух строк данных, когда это должно быть одной и той же строки:
Короткий конец этого: у меня есть две отдельные объекты, заголовки и данные. Мне нужно распечатать заголовки таблиц, а затем распечатать данные из другого массива в соответствующий заголовок.
Какой ключ в объект данных 'должен соответствовать fieldAlias' -' initiativeTitle'? –
@LloydBanks Да, первый td будет инициативным титром, второе - описанием – SBB