拆分基于键值数组的数组 - PHP

问题描述 投票:-1回答:1

用户提交表单后,我收到来自邮政的数组。数据回来给我一个数组,但它里面还有2个阵列和属于母公司阵列的几个元素。 我怎样才能提取是父阵列内部的阵列(基于他们的名字),并在一个新的阵列添加剩余的元素。

array (size=x)
       'parent_array_element1' => string 'value1'
       'parent_array_element2' => string 'value2' 
       'parent_array_element3' => string 'value3' 
       'parent_array_element4' => string 'value4'
       'parent_array_element5' => string 'value5'
       'parent_array_element6' => string 'value6' 
       'parent_array_element7' => string 'value7'
       'parent_array_element8' => string 'value8'
       'parent_array_element9' => string 'value9'
       'parent_array_element10' => string 'value10' 
   'internalArray1' => 
      array 
        'internalArray1_element1' => string 'value1'
        'internalArray1_element2' => string 'value2'
        'internalArray1_element3' => string 'value3'
        'internalArray1_element4' => string 'value4' 
        'internalArray1_element5' => string 'value5' 
        'internalArray1_element6' => string 'value6'
        'internalArray1_element7' => string 'value7'
    'internalArray2' => 
      array
        'internalArray2_element1' => string 'value1'
        'internalArray2_element2' => string 'value2'
        'internalArray2_element3' => string 'value3'
        'internalArray2_element4' => string 'value4'
        'internalArray2_element5' => string 'value5'

什么我已经这样做的远是在我的控制器这样做是为了获取数据作为一个整体:

//Gets the parent array (Including nested arrays)
$data = $this->params()->fromPost(); 
//Gets the internaArray1
$data = $this->params()->fromPost('internalArray1'); 
//Gets the internaArray2
$data = $this->params()->fromPost('internalArray2');

但离开了父母阵列中的数据,我怎么说?

php arrays split
1个回答
-1
投票

使用unset删除从父嵌套数组

//Gets the parent array (Including nested arrays)
$data = $this->params()->fromPost();

//Gets the internalArray1
$internalArray1 = $data['internalArray1'];
//Remove internalArray1 from parent
unset($data['internalArray1']);

//Gets the internalArray2
$internalArray2 = $data['internalArray2'];
//Remove internalArray2 from parent
unset($data['internalArray2']);
© www.soinside.com 2019 - 2024. All rights reserved.