php - 推送到数组更多用户指定的值
问题描述
我做了简单的课程,以使我在学校的工作更快。有一个功能:
function selectWhere($what, $from, $where) {
$sql = "SELECT ".$what." FROM ".$from." WHERE ".$where;
if($result = $this->conn->query($sql)) {
if($result->num_rows > 0) {
$a = Array();
if(strpos($what, ", ")) {
$exp = explode(", ", $what);
while($r = $result->fetch_assoc()) {
foreach ($exp as $key => $val) {
$a[] = $r[$val];
}
}
return $a;
}
else {
while($r = $result->fetch_assoc()) {
$a[] = $r[$what];
}
return $a;
}
}
}
else {
return "Błędne zapytanie.";
}
}
在我想选择多个列之前,这很有效。此代码的基本上输出如下所示:
Array ( [0] => LeviPlayGames [1] => leviplaygames [2] => TestUser [3] => testuser )
这是选择姓名和实名列的结果。现在使用代码迫使我使用多维数组,因此所需的输出将如下所示:
Array ( [0] => Array ( [0] => LeviPlayGames [1] => leviplaygames ) [1] => Array ( [0] => TestUser [1] => testuser ) )
所以结果将被分开,但我不知道如何连接数组中的两个(或更多)列。据我所知,我必须改变我的 foreach,但我不知道该怎么做。
解决方案
你快到了。
$a[$key][] = $r[$val];
代替:
$a[] = $r[$val];
应该是在适当的子数组中插入结果并获得所需输出所需的全部内容。
推荐阅读
- java - 在类内部创建一个类的实例
- tslint - NG-ANTD nz-tslint-rules 迁移不起作用
- c++ - 使用模板和 openmp 崩溃的 Clang 重载解析失败
- python-3.x - Selenium:无法在搜索结果中单击“下一页”
- netty - Netty HttpClient - 响应超时与读取超时
- reactjs - react-app-rewired 自定义默认启动 url
- mysql - 使用 MySQL 隐藏 50% 的低值行
- c++ - C++:帮助理解这行代码试图做什么
- c - 有什么方法可以阻止特权程序成功执行 unlink()?
- excel - 如何在电子邮件中添加多个附件?