Получение данных в определенном формате в PHP для почтового запроса - PullRequest
3 голосов
/ 26 марта 2020

Мне нужно отправить некоторые данные в следующем формате:

$postData = [
            'certExpiryDate' => $certExpiryDate,
            'certType' => 'SSL',
            'AltName' => [
                $altName[0],$altName[1]
            ],
            'csr' => $csr
        ];

$ altName - это массив, содержащий 2 или более строк, например - domain1.com, domain2.com.

Параметр AltName ожидает данные в этом формате -

'AltName' => [
    'domain1.com','domain2.com' 
],

(если я жестко кодирую и отправляю это так, все работает нормально .. это правильно формат)

Если я возьму массив $ altName напрямую, как это -

'AltName' => [
        $altName 
    ],

Я сделал var_dump, и для этого он добавляет кавычки вне как - "domain1.com, domain2.com" , что он считает неправильным.

Мне нужно, чтобы он был в формате $ altName [0], $ altName [1] , что было бы правильно, но я изо всех сил пытаюсь провести l oop через этот массив, если он имеет больше значений, чем 2, и все еще получает его в требуемом формате.

Ответы [ 2 ]

3 голосов
/ 26 марта 2020

Ваша попытка:

'AltName' => [
    $altName 
 ],

не работает должным образом, поскольку она оборачивает массив $altName в другой массив (созданный [ и ]).

Просто установите массив $altName в качестве значения свойства напрямую. Нет необходимости в дополнительном массиве:

'AltName' => $altName

Демонстрация: http://sandbox.onlinephpfunctions.com/code/fa3dd6a974be7ced4bdc5d878f692549b96e2b95

0 голосов
/ 26 марта 2020

но я борюсь за то, как l oop через этот массив, если он имеет больше значений, чем 2, и все равно получить его в требуемом формате.

проводка прямых значений:

//$altName  = ["domain1.com", "domain2.com"]; 
                //OR 
$altName  = array("domain1.com", "domain2.com");

$postData = ['AltName' => $altName];
var_dump($postData);

вывод:

array(1) {
  ["AltName"]=>
  array(2) {
    [0]=>
    string(11) "domain1.com"
    [1]=>
    string(11) "domain2.com"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...