如何循环遍历具有多个值的数组

问题描述

| 我知道这个问题很简单,但是我对数组的经验很少,并且遇到了困难。无论如何我有这个数组:
$variables=array(\"$value1\" => \"int\",$value2 => \"var\",$value3 => \"int\");
我想循环浏览一下,我想为每个$ value添加一个值 $ 1 is,如果$ value是\'int \'或 $2ѭ如果$ value是\'var \' 并在各个变量之间循环时增加“ 1”。有谁知道如何做到这一点?     

解决方法

        
foreach
循环使您可以遍历数组。
foreach ($array as $k=>$v)
语法使您可以定义一个变量来保存当前键(
$k
),并为当前值(
$v
)保留一个。我还使用了一个简单的变量,该变量在每个周期(
$i
)中递增。 然后,使用简单的
if
-
elseif
组合执行其他操作。
$i=1;
foreach ($variables as $k=>$v) {
    if ($v==\'int\') {
        $stmt->bindValue($i,$k,PDO::PARAM_INT);
    }
    elseif ($v==\'var\') {
        $stmt->bindValue($i,$k);
    }
    $i++;
}
我想展示一下逻辑,这可以进一步优化。     ,        也许是这样的:
$count = 1;
foreach ($variables as $key => $value){

  switch ($value) {
        case \"int\":
            $stmt->bindValue($count,$value,PDO::PARAM_INT); 
          break; 

        case \"var\":            
            $stmt->bindValue($count,$value);      
         break;

        default:
           exit(\"Invalid value\");            

    }                
          $count++; 

}
    ,        简单的循环应该做到这一点
$x=0;
foreach($variables as $key=>$value)
{
  if($value==\"var\")
   {
     $stmt->bindValue($x,$key);
   }
   else
   { 
      $stmt->bindValue($x,PDO::PARAM_INT);
   }
  $x++;
}