我正在尝试将数组变量的一部分设置为一个新的数组变量,如下所示:
$this->data['uploadFront'] = array();
$this->data['uploadFront'] = $this->data['Card']['uploadFront'];
但是我得到了未定义的索引错误。
$ this-> data ['Card']数组如下所示:
Array
(
[Card] => Array
(
[name] =>
[company_name] =>
[firstname] =>
[lastname] =>
[position] =>
[location] =>
[phone] =>
[website] =>
[mobile] =>
[comp_name] => 0
[uploadFront] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)
[uploadBack] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)
)
)
在这个过程中需要修复哪些错误?
答案 0 :(得分:0)
$this->data['uploadFront'][] = $this->data['Card']['uploadFront'];
如果你想附加到数组,你必须使用 [] 来表明你要追加,而不是分配。
答案 1 :(得分:0)
抱歉,我第一次没有正确阅读你的帖子。
正如Catalin告诉你的那样,如果你的阵列是你告诉我们的,即$ this-> data ['Card'] = ARRAY,那你就会创造一个不必要的额外关卡:两次'卡',所以['卡 '] [' 卡'。我建议您将$ this->数据定义为您所说的数组,然后要求将['uploadFront']复制到$ this->数据数组的第一级。在你所描述的内容中,你试图访问阵列中未发现的部分。
在代码中(可能你需要在你的类中的其他地方声明$ this->数据数组,但是为了解释我把它写成这样):
$this->data = array
(
'Card' => array
(
'name' => '',
'company_name' => '',
...
'uploadFront' => array
(
'name' =>'',
'type' => '',
'tmp_name' => '',
'error' => '4',
'size' => '0'
)
'uploadBack' => array
(
...
)
)
$this->data['uploadFront'] = $this->data['Card']['uploadFront'];