[英]notice: array to string conversion in php
<?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變量或$結果數組值注意出現...數組到字符串轉換和o / p不顯示。 為什么?
嘗試替換$player[] = array();
by $player = array();
在開頭(第2行)。
這是因為你在這個變量的索引0處聲明了一個數組,由於[]
,它被告知是一個數組。 因此,您嘗試在數組中放置一個數組,使其成為多維數組。
你不能簡單地echo
一個數組。 echo
只能輸出字符串 。 echo 'foo'
很簡單,它輸出一個字符串。 什么是echo
應該在的情況下,做的正是echo array('foo' => 'bar')
為了讓echo
在這里輸出任何東西,PHP會將array('foo' => 'bar')
轉換為字符串,該字符串始終是字符串"Array"
。 而且因為PHP知道這可能不是你想要的,它會通知你。
問題是你正在嘗試將數組視為字符串。 修復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.