Создать PHP массив динамически - PullRequest
0 голосов
/ 05 марта 2020

Я хочу создать массив PHP со следующим результатом. Значения массива будут передаваться динамически.

array(
    __( 'Bedroom', "my-text-domain" ) => 'Bedroom', 
    __( 'Luxury', "my-text-domain" ) => 'Luxury', 
    __( 'Modern', "my-text-domain" ) => 'Modern', 
)

Я пробовал пару arraypush и key => value. Но ожидаемый результат не был получен.

array_pu sh:

array_push($categories_dropdown, "__( '" . $cat_name . "',  'my-text-domain'  ) => '" . $cat_name . "'");

Массив pu sh результаты,

Array
(
    [0] => __( 'Uncategorized',  'my-text-domain'  ) => 'Uncategorized'
    [1] => __( 'Bedroom',  'my-text-domain'  ) => 'Bedroom'
    [2] => __( 'Luxury',  'my-text-domain'  ) => 'Luxury'
    [3] => __( 'Modern',  'my-text-domain'  ) => 'Modern'
    [4] => __( 'Office',  'my-text-domain'  ) => 'Office'
    [5] => __( 'Reception',  'my-text-domain'  ) => 'Reception'
    [6] => __( 'Vintage',  'my-text-domain'  ) => 'Vintage'
)

ключ => пара значений :

$categories_dropdown["__( '".$cat_name."',  'my-text-domain'  )"] = $cat_name;

key => результаты пары значений,

Array
(
    [__( 'Uncategorized',  'my-text-domain'  )] => Uncategorized
    [__( 'Bedroom',  'my-text-domain'  )] => Bedroom
    [__( 'Luxury',  'my-text-domain'  )] => Luxury
    [__( 'Modern',  'my-text-domain'  )] => Modern
    [__( 'Office',  'my-text-domain'  )] => Office
    [__( 'Reception',  'my-text-domain'  )] => Reception
    [__( 'Vintage',  'my-text-domain'  )] => Vintage
)

Как можно динамически привести вышеупомянутый массив шаблонов в PHP?

1 Ответ

2 голосов
/ 05 марта 2020

"__( '".$cat_name."', 'my-text-domain' )" - строка, и вам нужен результат выполнения функции, поэтому удалите кавычки и вызовите функцию __():

$categories_dropdown[__($cat_name, 'my-text-domain')] = $cat_name;
...