BasePrice ObjectЭто не массив, о чём ясно написано, поэтому и работать с ним надо не как с массивом, а как с объектом.
$sql = "SELECT * FROM " . DB_PREFIX . "review2 WHERE 1=1";
Будьте особенно внимательны при указании HTTP-заголовков. Для того, чтобы гарантировать максимальную совместимость с наибольшим количеством различных клиентов, слово "Basic" должно быть написано с большой буквы "B", регион (realm) должен быть взят в двойные (не одинарные!) кавычки, и ровно один пробел должен предшествовать коду 401 в заголовке HTTP/1.0 401.php.net/manual/ru/features.http-auth.php
Методы REST-сервиса получают файлы в виде строки, закодированной в base64. Также можно отправить обычный массив, первым элементом которого будет имя файла, вторым - содержимое в base64.
POST https://my.bitrix24.com/rest/entity.item.add.json HTTP/1.1
Host: my.bitrix24.com
Content-Length: 186
Content-Type: text/plain; charset=UTF-8
auth=xxx&ENTITY=menu&NAME=yyy&DETAIL_PICTURE[0]=1.gif&DETAIL_PICTURE[1]=R0lGODlhAQABAIAAAP%2F%2F%2FwAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D
Если надо поменять URL придётся менять в 2х местах, причем надо помнить эти места.Вы привели пример из Laravel - там есть именованные маршруты. С ними не нужно ничего запоминать и менять адрес можно в одном месте. Собственно, так и спроектируйте.
Или последовательно отрабатываются запросы только в рамках одной PHP-сессии?
Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.
в чём причинаГлавным образом в том, что str_replace() не работает с регулярными выражениями.
Возвращает данные json преобразованные в соответствующие типы PHP. Значения true, false и null возвращаются как TRUE, FALSE и NULL соответственно. NULL также возвращается, если json не может быть преобразован или закодированные данные содержат вложенных уровней больше, чем допустимый предел для рекурсий.
Возвращает позицию, в которой находится искомая строка, относительно начала строки haystack (независимо от смещения (offset). Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.
Возвращает FALSE, если искомая строка не найдена.