Как вставить переменную в многомерный массив внутри класса - PullRequest
0 голосов
/ 29 апреля 2020

Я редактирую функцию Woocommerce для отображения разных текстов на разных языках. Я не знаком с объектами, поэтому я обращаюсь за помощью.

Мне нужно вставить переменную в многомерный массив, но так как это объект, я не смог сделать это через array_pu sh.

Моя цель - вставить значение $ comments_placeholder в ключ массива 'placeholder'.

Вот текущий код:

    $this->fields = array(
        'billing'  => WC()->countries->get_address_fields(
            $billing_country,
            'billing_'
        ),
        'shipping' => WC()->countries->get_address_fields(
            $shipping_country,
            'shipping_'
        ),
        'account'  => array(),
        'order'    => array(
            'order_comments' => array(
                'type'        => 'textarea',
                'class'       => array( 'notes' ),
                'label'       => __( 'Order notes', 'woocommerce' ),
                'placeholder' => '',
        ),
    );

array_push($this["order"]["order_comments"]["placeholder"]) = $comments_placeholder;

Спасибо!

1 Ответ

0 голосов
/ 29 апреля 2020
$this->fields['order']['order_comments']['placeholder']=$comments_placeholder

$ this-> fields ссылается на массив объекта, а не на $ this, который ссылается на сам объект. Поскольку placeholder является ключом, а не массивом, вместо array_pu sh, который добавляет значение к массиву, вы можете присвоить значение $ comments_placeholder ключу placeholder.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...