好的,所以我有这个查询,它运行得很好,但它没有返回我想要的内容。
vowels = 'aeiou'
sentence = 'python is fun'
new_words = []
for word in sentence.split():
if word[0].lower() in vowels:
new_words.append(word+'way')
else:
new_words.append(word[1:3]+word[0]+word[3:]+'gar')
' '.join(new_words)
'ytphongar isway unfgar'
这将返回一个数组(在php中),其中键为0,所有列(来自两个表)都在同一个数组下。
我想要实现的是获得2个数组,1个包含第一个表中的列,另外1个包含第二个表中的列。
基本上我正试图从1个查询中获取多维数组。
答案 0 :(得分:0)
读完行后将其拆分为两个数组。
$row = mysqli_fetch_assoc($query);
$acc = array($row['col1'], $row['col2'], ...);
$fin = array($row['col6'], $row['col7'], ...);
其中col1,
col2 , ... are the columns from
消费者, and
col6 ,
col7 , ... are the columns from
$ finances`。
在不列出所有列名的情况下执行此操作的方法是使用array_slice()
$row = mysqli_fetch_assoc($query);
$acc = array_slice($row, 0, $number_of_consumer_columns);
$fin = array_slice($row, $number_of_consumer_columns, $number_of_finances_columns);
$table3 = array_slice($row, $number_of_consumer_columns + $number_of_finances_columns, $number_of_table3_columns);
您可以对所有表格继续此操作。将它放入一个获取所有列计数数组的函数中会很简单,并返回一个包含每个表数据的二维数组。
答案 1 :(得分:0)
我想出了一个快速解决方案:
<?php
$tableData = array( 'account' => 'consumers', 'finance' => 'consumers_finance', 'household' => 'consumers_household', 'media' => 'consumers_media', 'medical' => 'consumers_medical', 'shopping' => 'consumers_shopping', 'social' => 'consumers_social', 'technology' => 'consumers_technology', 'transport' => 'consumer_transport', 'b2b' => 'consumers_b2b', 'employment' => 'consumer_employment_status');
$openAccount = array();
foreach($tableData as $key => $table)
{
$whichWhere = $db->doQuery("SHOW COLUMNS FROM `$table` LIKE 'uid'");
$whichWhere = (isset($whichWhere[0]['Field'])) ? 'uid' : 'id';
$getDetails = $db->getArray("SELECT * FROM $table WHERE $whichWhere = '$userID'");
if(isset($getDetails[0]))
{
$openAccount[$key] = $getDetails[0];
}
else
{
$getDetails = $db->doQuery("SHOW COLUMNS FROM `$table`");
foreach($getDetails as $column)
{
$openAccount[$key][$column[0]] = '';
}
}
}
?>
这将帮助我处理没有uid条目的表,这样我就不必对数组运行双重检查以避免未定义的索引。