Вы не можете делать какие-либо условия внутри предложения массива, которые бы помогли вам в этом, но это должно соответствовать вашим потребностям:
Если заголовки, которые вы хотите передать в массив, следующие:
$requestMethod = 'GET';
$listablemeta = ''; // This shouldn't be in the final result
$nonlistmeta = 'non-listable-meta';
Создать массив ключ / значение из этих переменных:
$headers = array(
0 => $requestMethod." /rest/obj HTTP/1.1",
'listable-meta' => $listablemeta,
'meta' => $nonlistmeta,
'accept', '*/*'
);
Обратите внимание, что если значение не имеет ключа, как в requestMethod
, просто поместите туда числовое значение. Затем переберите их и создайте окончательный массив:
function buildHeaders($headers) {
$new = array();
foreach($headers as $key => $value) {
// If value is empty, skip it
if(empty($value)) continue;
// If the key is numerical, don't print it
$new[] = (is_numeric($key) ? '' : $key.': ').$value;
}
return $new;
}
$headers = buildHeaders($headers);
$headers
теперь должен содержать что-то вроде этого:
$headers = array(
'GET /rest/obj HTTP/1.1',
'meta: non-listable-meta-here',
'accept: */*'
);