Php 使用$this作为键和值的foreach循环

Php 使用$this作为键和值的foreach循环,php,Php,我想做一个像这样的foreach循环 foreach ($this->data['array'] as $this->data['key'] => $this->data['value']) { echo $this->data['value']; } 然而,$this->data['value']从未创建过。为什么会这样?我做错了什么?如果: class YourClass { private data = array( 'array'

我想做一个像这样的foreach循环

foreach ($this->data['array'] as $this->data['key'] => $this->data['value'])
{
    echo $this->data['value'];
}
然而,
$this->data['value']
从未创建过。为什么会这样?我做错了什么?

如果:

class YourClass {

   private data = array(
     'array' => array(
         'key1' => 'val1',
         'key2' => 'val2', etc.
      )
   );
那么应该是:

foreach ($this->data['array'] as $key => $val)
{
    echo $val;
   // if you want to add keys and vals to data array:
   $this->data[$key] = $val;
}
如果:

那么应该是:

foreach ($this->data['array'] as $key => $val)
{
    echo $val;
   // if you want to add keys and vals to data array:
   $this->data[$key] = $val;
}
如果:

那么应该是:

foreach ($this->data['array'] as $key => $val)
{
    echo $val;
   // if you want to add keys and vals to data array:
   $this->data[$key] = $val;
}
如果:

那么应该是:

foreach ($this->data['array'] as $key => $val)
{
    echo $val;
   // if you want to add keys and vals to data array:
   $this->data[$key] = $val;
}

我认为,
$此
用于当前类对象引用,而不是数组

foreach ($this->data['array'] as $k => $v)
{
    echo $v;
    $this->data['key'][] = $k;
    $this->data['value'][] = $v;
}
print_r($this->data['key']);
print_r($this->data['value']);

我认为,
$此
用于当前类对象引用,而不是数组

foreach ($this->data['array'] as $k => $v)
{
    echo $v;
    $this->data['key'][] = $k;
    $this->data['value'][] = $v;
}
print_r($this->data['key']);
print_r($this->data['value']);

我认为,
$此
用于当前类对象引用,而不是数组

foreach ($this->data['array'] as $k => $v)
{
    echo $v;
    $this->data['key'][] = $k;
    $this->data['value'][] = $v;
}
print_r($this->data['key']);
print_r($this->data['value']);

我认为,
$此
用于当前类对象引用,而不是数组

foreach ($this->data['array'] as $k => $v)
{
    echo $v;
    $this->data['key'][] = $k;
    $this->data['value'][] = $v;
}
print_r($this->data['key']);
print_r($this->data['value']);

据我所知,您有一个类,其中有一个变量或数组名$data

现在,您在$data中添加了一个数组,其索引名为“array”,对吗? 如果是这样,此代码将正常工作-

class myClass{
    public $data = array(); //$data is an array

    function print_array(){
     foreach ($this->data['array'] as $this->data['key'] => $this->data['value'])
        {
            echo $this->data['value'];
        }   
    }
}

$ob = new myClass(); // object declaration for your class
array_push($ob->data,'array'); // added a value to the $data array.
$ob->data['array'] = array(); // the newly added value is declared as an index of an array
// Now simply push values to the array named $data['array']
array_push($ob->data['array'],1);
array_push($ob->data['array'],2);
array_push($ob->data['array'],3);

$ob->print_array(); // call the print_array() function. $this will be passed to that function
希望这将有助于理解。 如果您仍然有问题,请评论。 要有一个清晰的了解,您可以访问链接。这里有很多简单有趣的例子


快乐编码

据我所知,您有一个类,其中有一个变量或数组名$data

现在,您在$data中添加了一个数组,其索引名为“array”,对吗? 如果是这样,此代码将正常工作-

class myClass{
    public $data = array(); //$data is an array

    function print_array(){
     foreach ($this->data['array'] as $this->data['key'] => $this->data['value'])
        {
            echo $this->data['value'];
        }   
    }
}

$ob = new myClass(); // object declaration for your class
array_push($ob->data,'array'); // added a value to the $data array.
$ob->data['array'] = array(); // the newly added value is declared as an index of an array
// Now simply push values to the array named $data['array']
array_push($ob->data['array'],1);
array_push($ob->data['array'],2);
array_push($ob->data['array'],3);

$ob->print_array(); // call the print_array() function. $this will be passed to that function
希望这将有助于理解。 如果您仍然有问题,请评论。 要有一个清晰的了解,您可以访问链接。这里有很多简单有趣的例子


快乐编码

据我所知,您有一个类,其中有一个变量或数组名$data

现在,您在$data中添加了一个数组,其索引名为“array”,对吗? 如果是这样,此代码将正常工作-

class myClass{
    public $data = array(); //$data is an array

    function print_array(){
     foreach ($this->data['array'] as $this->data['key'] => $this->data['value'])
        {
            echo $this->data['value'];
        }   
    }
}

$ob = new myClass(); // object declaration for your class
array_push($ob->data,'array'); // added a value to the $data array.
$ob->data['array'] = array(); // the newly added value is declared as an index of an array
// Now simply push values to the array named $data['array']
array_push($ob->data['array'],1);
array_push($ob->data['array'],2);
array_push($ob->data['array'],3);

$ob->print_array(); // call the print_array() function. $this will be passed to that function
希望这将有助于理解。 如果您仍然有问题,请评论。 要有一个清晰的了解,您可以访问链接。这里有很多简单有趣的例子


快乐编码

据我所知,您有一个类,其中有一个变量或数组名$data

现在,您在$data中添加了一个数组,其索引名为“array”,对吗? 如果是这样,此代码将正常工作-

class myClass{
    public $data = array(); //$data is an array

    function print_array(){
     foreach ($this->data['array'] as $this->data['key'] => $this->data['value'])
        {
            echo $this->data['value'];
        }   
    }
}

$ob = new myClass(); // object declaration for your class
array_push($ob->data,'array'); // added a value to the $data array.
$ob->data['array'] = array(); // the newly added value is declared as an index of an array
// Now simply push values to the array named $data['array']
array_push($ob->data['array'],1);
array_push($ob->data['array'],2);
array_push($ob->data['array'],3);

$ob->print_array(); // call the print_array() function. $this will be passed to that function
希望这将有助于理解。 如果您仍然有问题,请评论。 要有一个清晰的了解,您可以访问链接。这里有很多简单有趣的例子




快乐编码

问题中的代码没有多大意义。你为什么不做
$this->data=array\u merge($this->data,$this->data['array'])(如果这是目的的话)?你想做什么?以前的
$this->data
是什么?你想让它怎么处理?好吧,对不起,伙计们,我的代码出错了,这确实有效。所以没问题,问题中的代码没有多大意义。你为什么不做
$this->data=array\u merge($this->data,$this->data['array'])(如果这是目的的话)?你想做什么?以前的
$this->data
是什么?你想让它怎么处理?好吧,对不起,伙计们,我的代码出错了,这确实有效。所以没问题,问题中的代码没有多大意义。你为什么不做
$this->data=array\u merge($this->data,$this->data['array'])(如果这是目的的话)?你想做什么?以前的
$this->data
是什么?你想让它怎么处理?好吧,对不起,伙计们,我的代码出错了,这确实有效。所以没问题,问题中的代码没有多大意义。你为什么不做
$this->data=array\u merge($this->data,$this->data['array'])(如果这是目的的话)?你想做什么?以前的
$this->data
是什么?你想让它怎么处理?好吧,对不起,伙计们,我的代码出错了,这确实有效。所以这里没有问题,但我实际上想将
$key
$val
临时添加到
$this->data
数组中。我该怎么做呢?因为你已经在循环键和值了,它们已经是数组的一部分了。如果不是,您就不能循环。@user3052560您可以检查我的回答谢谢,我的代码出错了。原始代码确实有效,但我实际上想将
$key
$val
临时添加到
$this->data
数组中。我该怎么做呢?因为你已经在循环键和值了,它们已经是数组的一部分了。如果不是,您就不能循环。@user3052560您可以检查我的回答谢谢,我的代码出错了。原始代码确实有效,但我实际上想将
$key
$val
临时添加到
$this->data
数组中。我该怎么做呢?因为你已经在循环键和值了,它们已经是数组的一部分了。如果不是,您就不能循环。@user3052560您可以检查我的回答谢谢,我的代码出错了。原始代码确实有效,但我实际上想将
$key
$val
临时添加到
$this->data
数组中。我该怎么做呢?因为你已经在循环键和值了,它们已经是数组的一部分了。如果不是,您就不能循环。@user3052560您可以检查我的回答谢谢,我的代码出错了。原始代码实际上不起作用,我希望它们只在foreach循环期间可用。将两个after循环的值替换为null,如$this->data['key']='';谢谢,我的代码出错了。原始代码实际上不起作用,我希望它们只在foreach循环期间可用。将两个after循环的值替换为null,如$this->data['key']='';谢谢,我的代码出错了。原始代码实际上不起作用,我希望它们只在foreach循环期间可用。将两个after循环的值替换为null,如$this->d