繁体   English   中英

如何检查数组php中是否存在值

[英]How to check whether a value exists in an array php

我可以检查数组中的值吗?

我的意思是,如果我有这样的数组

$image=array(
    1 =>$_FILES['image1']['name'],
    2 =>$_FILES['image2']['name'],
    3 =>$_FILES['image3']['name'],
    4 =>$_FILES['image4']['name'],
    5 =>$_FILES['image5']['name'],
    6 =>$_FILES['image6']['name'],
);

我想知道什么是具有图像名称的键,我想根据数组键号更新mysql表的某些列,这些列具有图像名称。

我也想编写一个sql查询来做到这一点。 (这是我想要的示例。我知道此查询是错误的)

$query="
    UPDATE mytablename
    foreach($image as $valeu){
        echo'$image(1)=$value';
        echo'$image(2)=$value';
        echo'$image(3)=$value';
        echo'$image(4)=$value';
        echo'$image(5)=$value';
        echo'$image(6)=$value';
    }
";

array_search是您的朋友:

$key = array_search($image_name, $image);

http://www.php.net/manual/zh/function.array-search.php

每当您对数组进行操作时,请阅读数组函数列表。

从外观上看,如果键存在于数组中,它会附加图像吗?

对于查询,您可以使用爆破方式获取文件的名称,如下所示:

    $query="
    update myTableName 
    set someValue=1 
        where imageName in (".implode($image).")";

或者,如果您需要获取数组键,则可能必须先执行循环:

$IDArray=array();
foreach($image as $key => $val)
{
    $IDArray[]=$key;
}

$query="
    update myTableName 
    set someValue=1 
        where imageID in (".implode($IDArray).")";

你可以这样

foreach($image as $key=>$imgInfo)
{
   if(isset($imgInfo['name']))
   {
      $validKeys = $key.',';
   }
}
$validKeys = rtrim($validKeys,',');

我用自己的方式做到这一点。

$image=array(
1 =>$_FILES['image1']['name'],
2 =>$_FILES['image2']['name'],
3 =>$_FILES['image3']['name'],
4 =>$_FILES['image4']['name'],
5 =>$_FILES['image5']['name'],
6 =>$_FILES['image6']['name'],
);
$i=1;
    $sql  = "UPDATE salehotel ";
    $sql .="SET"." ";
foreach($image as $value){
    if(!$value==""){    
    $sql .=  "`image".$i."`"."="."'". $value ."'".",". " ";
    $i++;
    }

}

$sql .="
      `name`='$name',
      `status`='$status',
      `type`='$type',
      `location`='$location',
      `price`='$price',
      `description`='$description'
    WHERE  
      `property_id`='$edit'
      ";

这是一种非常简单的方法,但是可以完成我的工作。 谢谢你们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM