Мне трудно добавить каждый элемент в массив, который есть в PHP, для нескольких тегов OneSignal. Вот результат моего текущего JSON-кодированного массива:
[{"value":"[email protected]"},
{"value":"[email protected]"},
{"value":"[email protected]"}]
Желаемый результат:
[{"key":"user_email","relation":"=","value":"[email protected]"},
{"key":"user_email","relation":"=","value":"[email protected]"},
{"key":"user_email","relation":"=","value":"[email protected]"}]
Вот мой текущий код PHP:
$jsonData = array();
$allStaffInit = mysql_query("Select * from users");
while ($staffrow = mysql_fetch_object($allStaffInit)){
$jsonData[] = $staffrow;
}
echo json_encode($jsonData);
Любая помощь очень ценится! Спасибо!
Попробуйте заменить
$jsonData[] = $staffrow;
с
$object = new stdClass();
$object->key = "user_email";
$object->relation = "=";
$object->value = $staffrow->value;
$jsonData[] = $object;
Я набираю это в браузере, поэтому не могу проверить, но вы поняли идею (если вы не поняли идею, спросите в комментариях 🙂
Если вы должны использовать mysql_
функции, вам не нужно вручную создавать объект или массив, просто получите набор результатов в виде массива и используйте его.
while ($staffrow = mysql_fetch_assoc($allStaffInit)){
$jsonData[] = $staffRow;
}
Но я серьезно рекомендую вам хотя бы перейти на использование mysqli
расширение вместо. Вам действительно не нужно много корректировать свой код.