我怎样才能将我的php数组转换为另一种类型的数组

时间:2016-04-19 10:46:56

标签: php arrays

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

原始阵列:

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));
}

1 个答案:

答案 0 :(得分:0)

使用简单的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>';
?>

See it live here