2013-10-24 25 views
5
<?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 dizisi eklendiğinde, iyi çalışıyor, ancak $ player dizisi veya $ pl_1 değişkenini veya $ result dizi değerlerini eklediğimde Not ... Dizgi dönüştürme dizisi o/p gösterilmez. neden?uyarı: dize dönüştürme dizisi php için

+1

iki dizide echo' kullanımı print_r 'bir string.Instead değildir, çünkü ($ oynatıcısı [0]); ve print_r ($ pl_1); diziyi görmek için. –

+0

değişken değişkenlerinizin kodunuz aracılığıyla daha iyi anlaşılması için TYPE değişkenini ve içeriğinin yanı sıra içeriği görmek için herhangi bir değişken üzerinde [var_dump] (http://php.net/var_dump) kullanabilirsiniz. arasında – Latheesan

+0

olası yinelenen [Referans -? Bu hata PHP ne demek] (http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php) – naththedeveloper

cevap

10

deneyin başında $player = array(); tarafından $player[] = array(); değiştirilmesi (hat 2). o nedeniyle [] bir dizi olduğu söylenir bu değişkenin 0 dizininde bir diziyi bildirmek çünkü

Bu

olduğunu. Bu nedenle dizinizdeki bir diziyi çok boyutlu hale getirmeye çalışın.

8

yapamazsınız sadece echo bir dizi. echo yalnızca dizgileri çıkışını verebilir. echo 'foo' basittir, bir dizgi çıkarır. echoecho array('foo' => 'bar') durumunda tam olarak ne yapması gerekiyor? echo'un burada herhangi bir şey çıkarması için, PHP array('foo' => 'bar')'u her zaman "Array" dizgisine dönüştürecektir. Ve PHP'nin bunun muhtemelen sizin istediğinizi bilmediği için sizi bu konuda bilgilendirir.

sorun bir dize gibi bir dizi tedavi etmek için çalışıyoruz olduğunu. Bunu düzelt.

+9

Bir değil sadece yapar bir dizi yankı. – Antoine