Welcome Guest, Not a member yet? Register   Sign In
Parser for Multi-dimensional Array with the same key

(This post was last modified: 03-28-2021, 07:18 PM by emmanuel.)

Consider the followings:
PHP Code:
$template 'Hello {name}, your partner is {partner}{name}{/partner}.';
$data = [
    'name' => 'John',
    'partner' => [
        ['name' => 'Mary'],

$parser = \Config\Services::parser();

It renders the following output:
Quote:Hello John, your partner is John.

Just wondering how do you access partner's name while it has the same key name. I have tried dot notation , but it seems it doesn't support that.

Quote:The Parser class uses an associative array internally, to accumulate pseudo-variable settings until you call its render(). This means that your pseudo-variable names need to be unique, or a later parameter setting will over-ride an earlier one.


You will need to make your keys unique.

$data = [
    'person_name' => 'John',
    'partner' => [
        ['partner_name' => 'Mary'],

Thanks Craig, missed that paragraph. Haha.

Theme © iAndrew 2016 - Forum software by © MyBB