我有像这样的PHP代码
$sql = mysql_query("SELECT userName FROM `rcpa_users` WHERE upline_users = '$selectuname'");
while($tjans = mysql_fetch_array($sql)){
print_r($tjans);
}
但是输出显示了这个
Array ( [userName] => mita )
Array ( [userName] => wendyang )
Array ( [userName] => viviekosasih )
现在,如何像这个结果一样转换数组
Array
(
[0] => mita
[1] => wendyang
[2] => viviekosasih
)
所以我可以使用echo $ tjans [0],$ tjans [1],$ tjans [2]
进行调用谢谢..
答案 0 :(得分:1)
mysql_fetch_assoc()
- 获取结果行作为关联数组。此函数将返回一行作为关联数组,其中列名称将是存储相应值的键。
描述:返回与获取的行对应的关联数组,并将内部数据指针向前移动。 mysql_fetch_assoc()相当于使用MYSQL_ASSOC调用mysql_fetch_array()作为可选的第二个参数。它只返回一个关联数组。
之后,您需要执行array_values()
,以便使用数字键将所有值转换为数组。
array_values
- 返回数组的所有值
array_values()
返回数组中的所有值,并以数字方式对数组进行索引。
如果您的查询返回多行作为输出,您可以更喜欢这种方法:
$sqlxx = mysql_query("SELECT userName FROM rcpa_users WHERE upline_users = '$selectuname'");
$final_tjans = array();
while($tjans = mysql_fetch_assoc($sqlxx))
{
$final_tjans[] = $tjans['userName'];
}
print_r($final_tjans);
如果您的代码只返回单行作为输出:
$sqlxx = mysql_query("SELECT userName FROM rcpa_users WHERE upline_users = '$selectuname'");
$tjans = mysql_fetch_assoc($sqlxx));
$final_tjans = array_values($tjans);
print_r($final_tjans);
示例:强>
<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>
<强>输出:强>
Array
(
[0] => XL
[1] => gold
)
注意:在PHP 5.5.0中不推荐使用
mysql
扩展名,并且已在PHP 7.0.0中将其删除。相反,应该使用MySQLi或PDO_MySQL扩展。
答案 1 :(得分:1)
当你有多个记录时,那么使用array_values简单获取数组将不起作用,因为它只会返回一行。 要从此查询中获取所有行,您需要获取每一行。 如下所示
if (mysql_num_rows($result) > 0) {
$tjan = array();
while($row = mysql_fetch_assoc($result) ) {
$tjan[] = $row['price'];
}
print_r($tjan);
}
然后在循环前必须为空的数组中添加“price”字段。 最后你会得到一个你想要的数组。 干杯,
答案 2 :(得分:0)
您根本不需要运行循环。将结果存储在数组中:
$tjans = mysql_fetch_assoc($sql);
$tjans = array_values($tjans);
答案 3 :(得分:0)
首先你应该使用mysqli而不是mysql,因为它被折旧,并且不需要使用任何类型的循环,因为你的Select查询将获取与你的where条件匹配的所有记录。以下是您可能使用的代码段。
$sql = mysql_query("SELECT userName FROM `rcpa_users` WHERE upline_users = '$selectuname'");
$tjans = mysqli_fetch_assoc($sql);
print_r(array_values($tjans));
答案 4 :(得分:0)
您所要做的就是创建一个数组并将 userName 存储到其中,并在while循环外打印数组以查看输出。
$new_array = array();
$sql = mysqli_query($conn, "SELECT userName FROM `rcpa_users` WHERE upline_users = '$selectuname'");
while($tjans = mysqli_fetch_object($sql)){
$new_array[] = $tjans->userName;
}
print_r($new_array);
我的代码更改了什么?
mysql_*
移至mysqli_*
。userName
和store。$conn
变量。这是连接字符串,您必须了解这一点。 click here 注意: original MySQL extension现已弃用, 连接到a时会产生 E_DEPRECATED 错误 数据库。相反,使用 MySQLi或 PDO_MySQL个扩展程序。