Php foreach循环中递增的唯一变量

Php foreach循环中递增的唯一变量,php,Php,我有这样一个场景: $data = "A,B,C=>fruit'\n'D,E,F=>veggie'\n'A,D=>mix" $rules = array_map('trim', explode('\n', $data)); $i = 1; foreach ($rules as $rule) { $letter_group."_".$i = array_map('trim', explode('=>', $rule)); $letter.$i = array_m

我有这样一个场景:

$data = "A,B,C=>fruit'\n'D,E,F=>veggie'\n'A,D=>mix"
$rules = array_map('trim', explode('\n', $data));
$i = 1;
foreach ($rules as $rule) {
   $letter_group."_".$i = array_map('trim', explode('=>', $rule));
   $letter.$i = array_map('trim', explode(',', $letter_group."_".$i[0]));
   $group.$i = array_map('trim', explode(',', $letter_group."_".$i[1]));
   $i++;
   var_dump($letter.$i);
   var_dump($group.$i);
}
但这不起作用。如何获得这些输出

$letter1 = array('A','B','C');
$letter2 = array('D','E','F');
$letter3 = array('A','D');
$group1 = array('fruit');
$group2 = array('veggie');
$group3 = array('mix');

我同意这些评论,您应该尝试将您的值放入一个数组中(+1)。我想这就是你想要的:

<?php
$data = "A,B,C=>fruit'\n'D,E,F=>veggie'\n'A,D=>mix";
$data=str_replace("'","",$data);//you don't need the single quotes in there
$rules = explode("\n", $data);
$array=array();
foreach ($rules as $rule) {
    $ar=explode("=>",$rule);
    $array[$ar[1]]=explode(",",$ar[0]);
}
print_r($array);
?>
从下面的问题编辑:

虽然我建议将其存储在如上所述的多维度数组中,但如果您将其放入单个变量中,您可以从上面构建的数组中分配变量:

$letter1=$ar['fruit']
$letter2=$ar['veggie'];
$letter3=$ar['mix'];
//etc ....

我可以问一下,为什么在单个变量中需要这些变量?

$letter\u组。“$I
$letter.$I
这些变量是否会用作赋值的左端值?使用
array
。您可以通过单击“按您喜欢的答案检查”并单击其右上方的向上箭头来接受答案。感谢Landon的提醒。问题是:问题是:。我需要在方法中使用唯一的变量(这就是为什么我使用$I为每个数据字符串定义一个唯一的变量)。2.如何将每个数组成员分配到唯一的变量中?再次感谢大家的提醒。我之所以需要每个单独数据的唯一变量,是因为我需要将用户的输入数据与系统配置数据进行比较。无论如何,我会先和你商量一下。我会回来,一旦我有更好的话来解释为什么我需要独特的个人变量为每一个数据。伟大的,如果你喜欢我的答案,请考虑接受和投票表决。
$letter1=$ar['fruit']
$letter2=$ar['veggie'];
$letter3=$ar['mix'];
//etc ....