Cześć Jestem nowy w PHP, ale udało się zajść tak daleko w moich wymagań:muszę wyświetlać tylko jedną część JSON zakodowanej obiektu
Staram się wyświetlać tylko jedną część JSON zdekodowanego Obiektu. Nazwałem obiekt $Results
.
mogę z powodzeniem używać var_dump ($Results);
a następnie uzyskać pełne wyniki następująco:
object(stdClass)[2]
public '0' =>
object(stdClass)[3]
public 'forename_1' => string 'JAMES' (length=5)
public 'middle1_1' => string '' (length=0)
public 'middle2_1' => string '' (length=0)
public 'middle3_1' => string '' (length=0)
public 'surname_1' => string 'TURNER' (length=7)
public 'Status' => int 100
I włóż to w tabeli za pomocą następującego kodu:
<html>
<form id="client-details" action="/details.php" method="post">
<table>
<thead>
<tr>
<th>First Name</th>
<th>Surname</th>
<th>Search</th>
</tr>
</thead>
<?php foreach($Results as $o):?>
<tr>
<td id="forename"><?= $o->forename_1 ?></td>
<td id="surname"><?= $o->surname_1 ?></td>
<td><button type="submit" >More Info</button></td>
</tr>
<?php endforeach; ?>
</table></form>
</html>
Herezje Problem Po wyświetleniu wyników pojawia się następujący błąd: "Uwaga: Próba uzyskania właściwości obiektu innego niż obiekt"
To wydaje się być, ponieważ próbuję uruchomić część obiektu public 'Status' => int 100
.
Moje pytanie brzmi: W jaki sposób mogę zatrzymać tabelę przed próbą zapełnienia tego "stanu" lub w jaki sposób całkowicie go zignorować?
EDIT: Gdybym chciał mógłbym uzyskać wyniki z json_decode
jako asocjacyjnej zamiast jako obiekty ... pomogłoby to mi się ignorować „Stan” array/przedmiot?
Sprawdź kod po pobraniu wyników. – wilson
Twój 'var_dump' pokazuje po prostu' $ Result' ma inny obiekt w '0', więc nie możesz uzyskać do niego dostępu. –
@wilson - Sprawdziłem kod po pobraniu wyników: '$ Results = json_decode ($ Results);' Co mogę również zrobić, to zwrócić JSON jako tablicę asocjacyjną, wypowiadając '$ Results = json_decode ($ Results, true);'? – BLev80