php 类型转换和数组引用

标签 php arrays casting

我在 PHP OOPS 代码中遇到问题。

我的代码是:

class Settings
{

    private $client_addr = array(       
        'ClientID'              => array('maxlength'=>'10','IsNull'=>'n'),
        'ClientAddressType'     => array('maxlength'=>'12','IsNull'=>'y'),
        'ClientAddressLine1'    => array('maxlength'=>'30','IsNull'=>'y'),
        'ClientAddressLine2'    => array('maxlength'=>'30','IsNull'=>'y'),
        'ClientCounty'          => array('maxlength'=>'30','IsNull'=>'y'),
        'ClientCity'            => array('maxlength'=>'30','IsNull'=>'y'),
        'ClientState'           => array('maxlength'=>'2','IsNull'=>'y'),
        'ClientZip'             => array('maxlength'=>'9','IsNull'=>'y'),
    );
    private $client_general = array(
        'PayerID'                   => array('maxlength'=>'64','IsNull'=>'n'),  
        'ProviderID'                => array('maxlength'=>'50','IsNull'=>'n'),
        'ClientID'                  => array('maxlength'=>'10','IsNull'=>'n'),
        'ClientFirstName'           => array('maxlength'=>'30','IsNull'=>'n'),
        'ClientMiddleInitial'       => array('maxlength'=>'1','IsNull'=>'y'),
        'ClientLastName'            => array('maxlength'=>'30','IsNull'=>'n'),
    );

  function getSelectedArrayData($setlected_arr)
  {
      $setlected_arr = '$this->'."$setlected_arr";
      print_r($setlected_arr); //it prints a string '$this->client_general'
      print_r($this->client_general);//it prints $client_general array data
  }

}

$settings = new Settings();

$settings->getSelectedArrayData('client_general');

我的问题是:

当我打印 print_r($this->client_general); 时,它会打印 $client_general 数组,这是可以的。

Array
(
    [PayerID] => Array
        (
            [maxlength] => 64
            [IsNull] => n
        )

    [ProviderID] => Array
        (
            [maxlength] => 50
            [IsNull] => n
        )

    [ClientID] => Array
        (
            [maxlength] => 10
            [IsNull] => n
        )

    [ClientFirstName] => Array
        (
            [maxlength] => 30
            [IsNull] => n
        )

    [ClientMiddleInitial] => Array
        (
            [maxlength] => 1
            [IsNull] => y
        )

    [ClientLastName] => Array
        (
            [maxlength] => 30
            [IsNull] => n
        )

)

当我打印 print_r($setlected_arr); 时,它被打印了

$this->client_general

我想它也应该指向 $client_general 数组。

我该怎么做?

最佳答案

print_r($this->$setlected_arr);

关于php 类型转换和数组引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55396060/

相关文章:

php - 如何为每行数据运行 while 循环并回显每列数据的数组?

c# - 将 IList<T> 转换为 BindingList<T>

c++ - 将 double 组转换为仅具有 double 成员的结构数组而不复制数据

php - Doctrine YML 映射引用

php - Bootstrap x-editable,PDO 更新问题

php - Zend 框架 : Initializing Navigation in the Bootstrap

c# - 如何将对象转换为作为参数传递的类型

php - 在 Yii2 搜索中比较匹配的数组索引值

javascript - JS/jQuery : Filter object properties by array

python - 从 numpy 数组创建字典