在 PHP 中,如何在对象值中设置数组

In PHP, how can I set an array in an object value

我正在使用 PHP。我有一个值数组,我需要在一个对象中设置这个值

$objAcessoExternoParticipanteDTO = new AcessoExternoDTO();
$objAcessoExternoParticipanteDTO->setNumIdAtividade($myArray);
array(49) {
  [0]=>
  string(5) "25208"
  [1]=>
  string(5) "25230"
  [2]=>
  string(5) "25239"
  [3]=>
  string(5) "25242"
  [4]=>
  string(5) "25243"
  [5]=>
  string(5) "25244"
  [6]=>
  string(5) "25247"
  [7]=>
  string(5) "25250"
  [8]=>
  string(5) "25251"
  [9]=>
  string(5) "25252"
}

$myArray 是我要传递的,可能吗?

如果您想要此对象的实例包含数组中的每个值,您将必须创建 count($myArray) 唯一命名的对象(这可能很快就会变得非常混乱)或将所有对象存储在另一个数组,像这样

class AcessoExternoDTO
{
    private $NumIdAtividade;

    public function SetNumIdAtividade($v)
    {
        $this->NumIdAtividade = $v;
    }
}

$myArray= [ "25208", "25230", "25239", "25242", "25243", "25244", "25247", "25250"];

$objArr = [];
foreach ( $myArrayas $value){
    $obj = new AcessoExternoDTO;
    $obj->SetNumIdAtividade($value);
    $objArr[] = $obj;
}

print_r($objArr);

结果

Array
(
    [0] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25208
        )
    [1] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25230
        )
    [2] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25239
        )
    [3] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25242
        )
    [4] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25243
        )
    [5] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25244
        )
    [6] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25247
        )
    [7] => AcessoExternoDTO Object
        (
            [NumIdAtividade:AcessoExternoDTO:private] => 25250
        )

)