У меня есть определенный JSON-файл, который выглядит следующим образом:
[
{
"objID":"kc6BvvNlVW",
"string":"bill",
"createdOn":"2018-09-18T01:51:02",
"updatedOn":"2018-09-18T01:51:02",
"number":1,
"boolean":true,
"array":["item1","item2"],
"pointer":{"type":"__pointer","objID":"hYtr54Ds","className":"Users"}
},
{
"objID":"sS1IwFPPWh",
"string":"tom",
"createdOn":"2018-09-18T01:59:40",
"updatedOn":"2018-09-18T01:59:40",
"number":12.3,
"boolean":false,
"array":["item1","item2"],
"pointer":{"type":"__pointer","objID":"tRe4Fda5","className":"Users"}
}
]
1. Мне нужно сначала проверить, имеет ли "указатель" объект "__pointer"
внутри клавиши type
и показать только значение objID в таблице HTML, например:
"tRe4Fda5"
Прямо сейчас, вот так выглядит мой стол:

А вот мой foreach
код PHP (в строку таблицы):
foreach($jsonObjs as $i=>$obj) {
$row_id = $i;
echo '<tr>';
foreach($obj as $key => $value){
// $value is an Array:
if (is_array($value)) {
echo '<td>';
foreach($value as $k=>$v){
// $v is a Pointer
if ($v === '__pointer') {
echo json_encode($v); // <-- WHAT SHOULD I DO HERE ?
// $v is an Array:
} else {
echo json_encode($v);
}
}
echo '</td>';
// $value is a Number:
} else if (is_numeric($value)){
echo '<td>'.(float)$value.'</td>';
// $value is a String:
} else { echo '<td>'.$value.'</td>'; }
}
Как вы можете видеть в столбце pointer , строка, которую я получаю:
"__pointer""hYtr54Ds""Users"
без запятых в качестве разделителей, поэтому эту строку кода мне нужно отредактировать:
echo json_encode($v); // <-- WHAT SHOULD I DO HERE ?
Я пробовал с echo json_encode($v[$k]['__ponter']);
, но без положительных результатов.
Итак, мой последний первый вопрос: как я могу получить каждое ЗНАЧЕНИЕ «указателя» массива?
2. Кроме того, во второй строке логического столбца отображается примечание, так как его значение равно false
, не должно ли оно отображаться 0 , поскольку в первой строке отображается 1 (правда)?