Назначить переменную в ключе массива - PullRequest
1 голос
/ 20 октября 2019

Я работаю над модулем prestashop, который будет отправлять дополнительные данные в Google Analytics с помощью cURL. И я застрял с тем, как назначить переменную счетчика итераций в ключе массива.

Например:

'prXnm' => $order_detail['product_name'],
    'prXid' => $order_detail['product_id'],
    'prXpr' => $order_detail['product_price'],

Где X это число и должно делать что-то вроде count($order_detail['product_name']);

Как я могу реализовать X в массив? Потому что 'prcount($order_detail['product_name'])nm' => $order_detail['product_name'], не работает

Ответы [ 3 ]

2 голосов
/ 20 октября 2019

Попробуйте объединить как:

$x = count($order_detail['product_name']);
$result = array(
  "pr${x}nm" => $order_detail['product_name'],
  "pr${x}id" => $order_detail['product_id'],
  "pr${x}pr" => $order_detail['product_price'],
);

Примечания:

  1. Как уже Ник указано, включая количествов имени ключа не имеет особого смысла, но я думаю, вы просто хотели предоставить пример; -)
  2. Двойная кавычка в PHP особенно полезна для конкатенации, но следует использовать одинарную кавычкудля повышения производительности (PHP не ищет и не обрабатывает знаки доллара в одинарных кавычках).
1 голос
/ 20 октября 2019
$number = 3;
$array1 = array("test$number" => "Sample");
$array2 = array("test".$number => "Sample");

print_r($array1); //Array ( [test3] => Sample )
print_r($array2); //Array ( [test3] => Sample )

Вы должны изучить основы PHP.

0 голосов
/ 20 октября 2019

вы можете использовать двойные кавычки для ключа массива, а затем ввести переменную, используя фигурные скобки синтаксис

<?php

$i = count($order_detail['product_name']);

$arr = [
    "pr${i}nm" => $order_detail['product_name'],
    "pr${i}id" => $order_detail['product_id'],
    "pr${i}pr" => $order_detail['product_price'],
];
...