<?php
$player[] = array();
$team_id = $_SESSION['tid'];
$team_pids = $con->prepare("SELECT p_id FROM players_to_team WHERE t_id = ?");
$team_pids->bindParam(1,$team_id);
$team_pids->execute();
while($info = $team_pids->fetch(PDO::FETCH_ASSOC))
{
$player[] = $info['p_id'];
echo $info['p_id'];
}
$pl_1 = $player[0];
.
.
.
$pl_10 = $player[9];
echo $player[0]; //notice here
echo $pl_1; //notice here
?>
<table>
$query = $con->prepare("SELECT role,name,value FROM players WHERE p_id = '".$pl_1."'");
// notice here
$query->execute();
while($result = $query->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td>".$result['role']."</td>";
echo "<td>".$result['name']."</td>";
echo "<td>".$result['value']."</td>";
}
?>
</tr>
</table>
当我回显 $info 数组时它工作正常,但是当我回显 $player 数组或 $pl_1 变量或 $result 数组值时出现通知...数组到字符串的转换并且 o/p 不显示。 为什么?
最佳答案
尝试在开头(第 2 行)用 $player = array();
替换 $player[] = array();
。
这是因为您在该变量的索引 0 处声明了一个数组,由于 []
,它被告知是一个数组。因此,您尝试在数组中放置一个数组,使其成为多维的。
关于php - 通知 : array to string conversion in php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565118/