Array_fill表示单词结果


$sql23 = "SELECT * FROM map1pokemon ORDER BY RAND() LIMIT 1;";
$result23 = mysql_query($sql23) or die(mysql_error());
$battle_get23 = mysql_fetch_array($result23);

$sql2 = "SELECT * FROM pokemon WHERE name='".$battle_get23['pokemon']."'";
$result2 = mysql_query($sql2) or die(mysql_error());
$battle_get2 = mysql_fetch_array($result2);

$filler = "SELECT * FROM pokemon WHERE name='Charmander'";
$filler2 = mysql_query($filler) or die(mysql_error());
$filler3 = mysql_fetch_array($filler2);

$pokemon1 = array_fill(1,10,"".$filler3."");
$pokemon2 = array_fill(1,2,"".$battle_get2."");
$pokemon3 = array_merge($pokemon1, $pokemon2);
shuffle($pokemon3);
$pokemon4 = array_shift($pokemon3);

$pic2= mysql_real_escape_string($pokemon4['pic']);
$pic = strip_tags($pic2);

echo "<center>";
echo '<img src="pokemon/'.$pic.'" border=0><p></p>' ;

顶部的查询抓取关于每个口袋妖怪的信息,然后我想使用array_fill和array_merge使其中一个结果更难出现,但现在它没有显示混合口袋妖怪后的口袋妖怪的结果,我相信我正在做的口袋妖怪混合错误,但不知道为什么?

有人看到我在这里做错了吗?

这一行似乎没什么用:

$pic2= mysql_real_escape_string($pokemon4['pic']);

那么,不显示你想要的东西是合乎逻辑的,因为你不存储你想要的东西。让我们回顾一下你的代码:

 $filler = "SELECT * FROM pokemon WHERE name='Charmander'";
 $filler2 = mysql_query($filler) or die(mysql_error());
 $filler3 = mysql_fetch_array($filler2);

$filter3显然是一个包含所有表列的数组。

$pokemon1 = array_fill(1,10,"".$filler3."");

什么?你连接了一个数组和一个字符串?不要用这种伎俩,它不会给你带来好的效果。$pokemon1 = array_fill(1,10,$filler3);没问题。有点贪心,不过还好。

你可以做的一件事是使用随机生成器,它将更容易使用,更少贪婪和更快。

$rand = rand(12);
if($rand <=10){
     $result = $filler3;
}else{
     $result = $battle;
}
echo $result['name'];

最新更新