【问题标题】:Array counfusion阵列混乱
【发布时间】:2020-04-03 18:55:47
【问题描述】:

我将下面的数组作为字符串。 11=>A=>尝试,12=>B=>跳过,13=>A=>尝试,14=>A=>跳过,15=>B=>跳过,16=>A=>跳过 但是我希望第一个键(12)被跳过,如果用户执行一个动作,它的值会改变,那么它应该返回下一个键(14),它再次被跳过。 我试过了;

        //Converting to array
        for($i=0;$i<count($aa);$i++) {
            $x=explode('=>',$aa[$i]);
            $total_answer[$x[0]] = array($x[1],$x[2]);
          }
          // Matchhing option and question
          foreach($total_answer as $key=>$value)
          {
                  if($name=='Skip' || $name=="None")
                 {
                    $total_answer[$key][1]=$name;                 
              }
          }

【问题讨论】:

  • 你有什么错误吗?
  • 您是否可能只是在 if 子句中混淆了 $name$value
  • 这还不清楚。最终数组的所需格式是什么?
  • 这个太不清楚了。尝试提供一些示例来说明您的输入是什么以及您的预期输出是什么。

标签: php arrays laravel


【解决方案1】:

我看到你有 $name 变量,但你的数组都没有签名到 name var,

$str="11=>A=>Attempt, 12=>B=>Skip, 13=>A=>Attempt, 14=>A=>Skip, 15=>B=>Skip, 16=>A=>Skip";

//first we need to separate from ,
$arr=explode(',',$str);

//initiate new array
$total_answer=[];

for($i=0;$i<count($arr);$i++)
{
    //dont forget to trim out space
    $x=explode('=>',trim($arr[$i]));
    $total_answer[$x[0]]= array($x[1],$x[2]);
}


foreach($total_answer as $key=>$value)
{
    //from where this $name variable come from?
    if($name=='Skip' || $name=="None")
    {
        $total_answer[$key][1]=$name;                 
    }
}

我对你的说法感到困惑

但是我想要第一个键(12),如果用户执行一个动作,它会跳过 它的值会改变,然后它应该返回下一个键(14),它是 再次跳过。我试过了;

请输入你的输出目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 2017-10-19
    • 2012-11-03
    相关资源
    最近更新 更多