我有一个我想修改的数组。我认为从数组到维数组。我怎么能得到这个
原始阵列:
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));
}
答案 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>';
?>