繁体   English   中英

在php中声明

[英]With statement in php

我想知道是否有类似的JavaScript或VB的东西with声明,但在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

不完全是with语句,但您可以在示例中使用引用:

$r = &$array[index];

$r->attr1 = val1;
$r->attr2 = val2;
$r->attr3 = val3;

如果您的示例中需要数组,则可以使用array_merge函数模拟with statement

$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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM