简体   繁体   English

在php中声明

[英]With statement in php

I am wondering if there is something similar to javascript or VB's with statement but in php 我想知道是否有类似的JavaScript或VB的东西with声明,但在PHP

The way this works, for example in VB is shown below. 其工作方式,例如在VB中如下所示。 The two code snippets do the same effect: 这两个代码片段具有相同的效果:

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

is equal to : 等于:

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

Not exactly the with statement, but you can use references in your example: 不完全是with语句,但您可以在示例中使用引用:

$r = &$array[index];

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

If needed with arrays as in your example, you can mimic the with statement by using the array_merge function: 如果您的示例中需要数组,则可以使用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 );

Output: 输出:

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