如何将php数组转换为另一种类型的数组


how can i transform my php array to another type of array

我有一个想要修改的数组。我认为从数组到维度数组。我怎么能拿到这个

原始阵列:

Array
(
    [first_database] => learners,teachers
    [second_database] => cars,boats
)

我想要什么:

Array
(
    [first_database] => Array
    (
        [tables]=>learners,teachers
    )   
    [second_database] => Array
    (
        [tables]=>cars,boats
    )
)

这就是我构建阵列的方式

$db = new MysqliDb ('');
$array1=$db->rawQuery('select s.SCHEMA_NAME, group_concat(t.TABLE_NAME) from information_schema.SCHEMATA s left join information_schema.TABLES t on s.SCHEMA_NAME=t.TABLE_SCHEMA group by s.SCHEMA_NAME');
foreach($array1 as $newArray){
    $database_name=$newArray['SCHEMA_NAME'];
    $tbl_name=$newArray['group_concat(t.TABLE_NAME)'];
    $dev_db_n_tbl[$database_name]=$tbl_name;
    $a1Value  = explode(',',$dev_db_n_tbl[$database_name]);
    $a2Value  = explode(',',$qa_db_n_tbl[$database_name]);
    $diff[$database_name] = implode(',',array_diff($a1Value,$a2Value));
}

使用简单的foreach循环。

所需的数组应该具有相同的键。

对于值,您需要使用数组而不是简单的字符串。

每个数组都应该有一个关键字tables

更正的代码:

<?php
$arr = array(
 'first_database' => 'learners,teachers',
 'second_database' => 'cars,boats'
);
$newArr = array();
if (! empty($arr)) {
 foreach ($arr as $key => $val) {
  $newArr[$key]['tables'] = $val;
 }
}
echo '<pre>';print_r($newArr);echo '</pre>';
?>

在这里查看实时