Добавление элемента в массив php

115
29 мая 2019, 10:40

функция getSchoolById() возвращает объект, а функция getSchoolStaffById() возвращает массив, как мне добавить объект в массив.

function getSchoolById($id)
{
    global $pdo;
    $smtp = $pdo->prepare('SELECT * FROM `schools` where id = :id');
    $smtp->bindParam(':id', $id);
    $smtp->execute();
    $school = $smtp->fetchObject();
    $school = json_encode($school);
    $schoolStaff = getSchoolStaffById($id);
    array_push($schoolStaff,$school);
    die( getSchoolStaffById($id));
}
function getSchoolStaffById($id)
{
    global $pdo;
    $smtp = $pdo->prepare('SELECT * FROM `school_staff` where school_id = :id');
    $smtp->bindParam(':id', $id);
    $smtp->execute();
    $makes = $smtp->fetchAll(PDO::FETCH_ASSOC);
   return(json_encode($makes));
}

array_push() возвращает такую ошибку

Warning: array_push() expects parameter 1 to be array, string given in D:\OSPanel\domains\lessonsPhp\Homework\work10\bestChoice\api.php on line 61

Answer 1

Потому что функция json_encode имеет тип возвращаемого значения - string.

return(json_encode($makes));

Подробнее - тут http://php.net/manual/ru/function.json-encode.php

READ ALSO
Доступ по ключу к массиву из json

Доступ по ключу к массиву из json

Есть код, который берёт данные из json в массив, но при обращении по ключу к такому массиву доступ по ключу не работает

139
Передача данных в POST через ссылку

Передача данных в POST через ссылку

Имею такой ответ сервера при регистрации пользователя,ловил через Fiddler:

126
Как узнать количество полей в структуре?

Как узнать количество полей в структуре?

Как узнать количество полей в структуре?

124