警告:shuffle()期望参数1是数组

时间:2012-06-16 06:10:48

标签: php shuffle

为什么这样?

Warning: shuffle() expects parameter 1 to be array, resource given in /home/u801961841/public_html/img.php on line 12

真正的PHP代码:

    <?php
require_once 'masterfile.php';
    $text3 = wordwrap($t[0], 31, "\n", true);
    $box = @ImageTTFBBox(23,0,'/home/u801961841/public_html/nama.TTF',$user[name]);
    $textwidth = abs($box[4] - $box[0]);
    $x_finalpos = 255-($textwidth/2);
    $image = imagecreatefromjpeg('img_empty.jpg');
    $image = imagecreatefromjpeg('img_empty1.jpg');
    $image = imagecreatefromjpeg('img_empty2.jpg');
    $image = imagecreatefromjpeg('img_empty3.jpg');
    $image = imagecreatefromjpeg('img_empty4.jpg');
shuffle($image);
    $font_color = ImageColorAllocate($image, 0, 0, 0);

请帮我解决这个问题:(

3 个答案:

答案 0 :(得分:6)

您没有将$image设置为数组。这样做:

$image[] = imagecreatefromjpeg('img_empty.jpg');
$image[] = imagecreatefromjpeg('img_empty1.jpg');
$image[] = imagecreatefromjpeg('img_empty2.jpg');
$image[] = imagecreatefromjpeg('img_empty3.jpg');
$image[] = imagecreatefromjpeg('img_empty4.jpg');

答案 1 :(得分:2)

$image不是数组,而是图像资源。

将每个$image扔进一个数组然后随机播放

http://php.net/manual/en/function.imagecreatefromjpeg.php

答案 2 :(得分:2)

如果我理解你,你需要随机拍照?

$images = array(
'img_empty.jpg',
'img_empty1.jpg',
'img_empty2.jpg',
'img_empty3.jpg',
'img_empty4.jpg'     
);

$image = imagecreatefromjpeg($images[array_rand($images)]);
$font_color = ImageColorAllocate($image, 0, 0, 0);

通过这种方式,您只需将资源分配给所需的图片。