С заявлением в php - PullRequest
       1

С заявлением в php

6 голосов
/ 13 ноября 2011

Мне интересно, есть ли что-то похожее на javascript или оператор with VB, но в php

Как это работает, например в VB, показано ниже.Два фрагмента кода имеют одинаковый эффект:

array[index].attr1 = val1;
array[index].attr2 = val2;
array[index].attr3 = val3;

равно:

With(array[index])
    .attr1 = val1
    .attr2 = val2
    .attr3 = val3
End With

Ответы [ 2 ]

5 голосов
/ 13 ноября 2011

Не совсем оператор with, но вы можете использовать ссылки в вашем примере:

$r = &$array[index];

$r->attr1 = val1;
$r->attr2 = val2;
$r->attr3 = val3;
0 голосов
/ 04 мая 2012

При необходимости с массивами, как в вашем примере, вы можете имитировать with statement с помощью функции array_merge:

$array = array(
    'index' =>  array(
                    'attr1' => 'val1',
                    'attr2' => 'val2',
                    'attr3' => 'val3'
                )                
);

var_dump( $array );

$array['index'] =   array_merge(
                        $array['index'],
                        array(
                            'attr1' => 'newval1',
                            'attr4' => 'newval4'
                        )
                    );

var_dump( $array );

Выход:

array
  'index' => 
    array
      'attr1' => string 'val1' (length=4)
      'attr2' => string 'val2' (length=4)
      'attr3' => string 'val3' (length=4)
array
  'index' => 
    array
      'attr1' => string 'newval1' (length=7)
      'attr2' => string 'val2' (length=4)
      'attr3' => string 'val3' (length=4)
      'attr4' => string 'newval4' (length=7)
...