配列の一部を読み取る必要があるこの関数を作成しています。各値には、PDO クエリを実行する数値が保持されます。これは私の次のコードです:
function get_topics($array) {
$top = 20; $base = 0;
foreach ($array as $key => $value) {
$getData = $dbc->prepare('SELECT * FROM topics WHERE id = :id LIMIT 1');
$getData->execute(array(':id' => $value));
while($row = $getData->fetch()) {
$potential_topic_img = 'members/topic_' . $value . '.jpg';
if (file_exists($potential_topic_img)) { $topic_img = $potential_topic_img; } else {
$topic_img = 'members/0.jpg'; }
$name = $row['name'];
echo '<div class="topic_div"><img src="' . $topic_img . '" width="80"><br /><span
style="font-size:10pt;">' . $name . '</span></div>';
} if (++$base == $top) break;
}
}
echo get_topics($some_array);
しかし、私が得るのはこれを伝えるエラーだけです:「解析エラー:構文エラー、予期しない T_VARIABLE in /home/......」、そして問題は次の行にあると言っています:
$getData->execute(array(':id' => $value));
私は何が間違っている可能性がありますか?
編集
いくつかのコードを削除しましたが、これが残っている場合、コードは正常に動作しています:
function get_topics($array) {
foreach ($array as $key => $value) {
echo $value;
}
}
echo get_topics($user_likes_array);
したがって、 $value が空であるというわけではありません。問題は最初に述べた行にあるようです。その行の下にすべてを移動すると、エラーメッセージは変化しませんが、その特定の行を移動すると変化するためです。