他stackoverflow,
今天我忙于一个函数,它可以获取所有具有特定名称的元素。现在我在创建这个函数时遇到了一个问题。具体名称是动态的,因此可以是:“conf_1=data&conf_2=data”,也可以是:“conf_1=data&conf_2=data&conf_3=data”
一些代码来启发你,
foreach($_GET as $key => $value) {
$a++;
if (strpos($key, "conf_$a") === 0) {
$conf[$key] = $value;
}
}
假设我们有这个 URL,
naam=name&dom=domain&id=41&conf_1=data&conf_2=data&conf_3=data&this_1=data&this_2=opt1
现在我正在尝试使用 foreach 循环获取所有 conf 元素,但我需要 $a 参数是 1,2 en 3 数字。当我尝试将所有这些元素 $a 关闭时,给出 1 和 2。
我该如何声明,或者如何使用不同的循环来做到这一点。下一步当然是将元素放入这样的数组中:
$conf = Array
(
[1] => data
[2] => data
[3] => data
)
$this = Array
(
[1] => data
[2] => data
)
编号不是自动完成的,这一点很重要。数组中的数字关闭是元素名称中的数字。基本上 conf_1=data 必须变成 [1] => data
我知道有多种方法可以做到这一点,但我不知道女巫是最好和最快的方法。我现在这样做的方式是完全错误的:
for($a = 0; $a < 99; $a++){
// Get all the data
$conf = array();
foreach($_GET as $key => $value) {
if (strpos($key, "conf_$a") === 0) {
$conf[$key] = $value;
}
}
$finalconf = array();
//order all data
$finalconf[$a] = $conf['conf_' . $a];
print_r ($conf);
print_r ($finalconf);
}