Php 具有不同值的Foreach数组

Php 具有不同值的Foreach数组,php,loops,for-loop,foreach,Php,Loops,For Loop,Foreach,需要一点帮助,我总是会遇到愚蠢的错误,当我尝试这样做的时候,我想要foreach数组,在里面做一个for循环,这可能吗? 这是我的密码 $image = new SimpleImage(); $slike=array($_FILES['slika1']['tmp_name'],$_FILES['slika2']['tmp_name'],$_FILES['slika3']['tmp_name'],$_FILES['slika4']['tmp_name']); $koliko = count($s

需要一点帮助,我总是会遇到愚蠢的错误,当我尝试这样做的时候,我想要foreach数组,在里面做一个for循环,这可能吗? 这是我的密码

$image = new SimpleImage();
$slike=array($_FILES['slika1']['tmp_name'],$_FILES['slika2']['tmp_name'],$_FILES['slika3']['tmp_name'],$_FILES['slika4']['tmp_name']);

$koliko = count($slike);

foreach ($slike as $slika) {

    for ($i = 1; $i <= $koliko; $i++)
    {
        $slicica="../images/usluge/".mysql_insert_id()."-".$i.".jpg";
        $image->load($slika);
        $image->resizeToWidth(800);
        $image->save($slicica);
    }
}
$image=new SimpleImage();
$slike=array($_文件['slika1']['tmp_名称'],$_文件['slika2']['tmp_名称'],$_文件['slika3']['tmp_名称'],$_文件['slika4']['tmp_名称']);
$koliko=计数($slike);
foreach($slike as$slika){
对于($i=1;$i加载($slika);
$image->resizeToWidth(800);
$image->save($slicica);
}
}
例如,我想得到这个名字的新照片。如果最后一个id是2,我想得到这个文件名等等

  • 2-1.jpg
  • 2-2.jpg
  • 2-3.jpg
  • 2-4.jpg
我的代码仍然没有得到正确的值:(
或者有一种简单的方法可以做到这一点:)

我认为您需要的是替换以下行:

$image->load($slika);
对于这一个:

$image->load($slike[$i-1]);

我认为您需要的是替换以下行:

$image->load($slika);
对于这一个:

$image->load($slike[$i-1]);

您可能在foreach中遇到了问题,就好像我们在数组上执行var_转储一样,我们将看到以下内容:

array(3) { [0]=> string(5) "test1" [1]=> string(4) "tes2" [2]=> string(5) "test3" }
因此,您需要将其更改为:

foreach ($slike as $key => $slika) {
您还可以使用来实现您尝试执行的操作,并使用linux命令:

foreach($slike as$key=>$slika){

对于($i=1;$i您可能在foreach中遇到了问题,就好像我们在数组上进行var_转储一样,我们将看到以下内容:

array(3) { [0]=> string(5) "test1" [1]=> string(4) "tes2" [2]=> string(5) "test3" }
因此,您需要将其更改为:

foreach ($slike as $key => $slika) {
您还可以使用来实现您尝试执行的操作,并使用linux命令:

foreach($slike as$key=>$slika){


对于($i=1;$i)您得到的这些“愚蠢错误”是什么?您当前得到的值是什么?我没有得到ERORR,但我只得到了一张相同的图片,最后一张图片是相同的,但名称是2-1.jpg,2-2.jpg,2-3.jpg,2-4.jpg。与之前的所有图片一样:(mysql_insert_id()将在循环的每次迭代中为您返回相同的值,除非您在每次迭代中都执行插入操作。我希望在文件名中包含mysql_insert_id(),这不是问题,问题是当我想添加-1、-2、-3等时,您使用的是什么平台?这些“愚蠢的错误”是什么你得到了?你现在得到了什么值?我没有得到ERORR,但我只得到了一张相同的图片,最后一张图片,相同,但名称为2-1.jpg,2-2.jpg,2-3.jpg,2-4.jpg。就像所有以前的图片一样:(mysql_insert_id()将在循环的每个迭代中为您返回相同的值,除非您在每个迭代中执行插入操作。我希望在文件名中包含mysql_insert_id(),这不是问题,当我想添加-1,-2,-3等时,问题就出在您使用Linux的哪个平台上?@take我看到了:
$\u FILES['slika1']['tmp\u name']
这就是我建议使用
移动上传的文件的原因。
是的,我看到它太晚了,这就是为什么我删除了我的评论。对不起。@user2266992尝试调试你的变量,添加一些
变量转储($variables)
@我看到了:
$\u文件['slika1']['tmp\u name']
这就是为什么我建议使用
move\u uploaded\u file
。是的,我看到它太晚了,这就是为什么我删除了我的评论。对不起。@user2266992尝试调试您的变量,添加一些
var\u dump($variables)并没有什么坏处
抱歉,我已更新了答案中的代码,它有一个索引错误,请重试新代码..Nelson,你是国王,这是最好的解决方案,你是最好的。效果很好,txanks!你能帮我一点忙吗,我有$slike数组,如何查看有空值和取消设置?不知道你到底想要什么..对于取消设置的数组项,你可以让
unset()
检查为空
是否为空()
。抱歉,我在回答中更新了代码,它有一个索引错误,请重试新代码。。Nelson,你是国王,这是最好的解决方案,你是最好的。效果很好,txanks!你能帮我一点忙吗,我有$slike数组,如何查看有空值以及如何取消设置?不知道你到底想要什么。。用于取消设置数组项y您有
unset()
,要检查empty
是否为空()
。。