Присяжный острослов: Как сослаться к индексу ассоциативного массива

JABA 8 лямбда-выражение

Collections.sort(studList, (Student s1, Student s2) ->{
        return s1.getFirstName().compareToIgnoreCase(s2.getFirstName());
});

ИЛИ

Comparator<Student> c = (s1, s2) -> s1.firstName.compareTo(s2.firstName);
studList.sort(c)
14
задан strager 15 March 2009 в 17:21
поделиться

4 ответа

посмотрите если {$imagelist.additional.image[$getvars.imagename].name_body} работы

22
ответ дан 1 December 2019 в 09:02
поделиться

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

{$foo.$bar}   <-- display variable key value of an array, similar to PHP $foo[$bar]

, Чтобы быть в состоянии сделать это, Вы имеете к

{assign var='key' value=$getvars.imagename}
{$imagelist.additional.image.$key.name_body}

Hope, которой это помогает

5
ответ дан 1 December 2019 в 09:02
поделиться

Реструктурируйте массив, ключи для внутреннего смещения 'изображений' избыточны так или иначе:

$imagelist = array('additional' => array('count' => 2,
       'image' => array(
            array('name_body' => 'nokia_e61_1',
                  'name_ext'  => 'jpg'),
            array('name_body' => 'nokia_e61_2',
                  'name_ext'  => 'jpg'),
            array('name_body' => 'nokia_e61_3',
                  'name_ext'  => 'jpg'),
            array('name_body' => 'nokia_e61_4',
                  'name_ext'  => 'jpg')
        )
    ),
    'main' => 'nokia_e61'
);

Дает, Вы численно индексировали изображения:

array(2) {
  ["additional"]=>
  array(2) {
["count"]=>
int(2)
["image"]=>
array(4) {
  [0]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_1"
    ["name_ext"]=>
    string(3) "jpg"
  }
  [1]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_2"
    ["name_ext"]=>
    string(3) "jpg"
  }
  [2]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_3"
    ["name_ext"]=>
    string(3) "jpg"
  }
  [3]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_4"
    ["name_ext"]=>
    string(3) "jpg"
  }
}
}
["main"]=>
string(9) "nokia_e61"
}

//and then the smarty bit
{$imagelist.additional.image[0].name_body}
{$imagelist.additional.image[1].name_body}
{$imagelist.additional.image[2].name_body}
{$imagelist.additional.image[3].name_body}
3
ответ дан 1 December 2019 в 09:02
поделиться
{php}echo $imagelist['additional']['image'][$getvars['imagename']]['name_body'];{/php}
0
ответ дан 1 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: