彼はスタックオーバーフロー、
今日、私は特定の名前のすべての要素を取得する関数で忙しいです。ここで、この関数の作成に1つの問題があります。特定の名前は動的であるため、「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,2en3の数値にする必要があります。そして、私がこのすべての要素を取り込もうとすると、$ashutは1en2を与えます。
どうすればそれを宣言できますか、または別のループでこれを行うにはどうすればよいですか。次のステップはもちろん、要素を次のような配列に配置することです。
$conf = Array
(
[1] => data
[2] => data
[3] => data
)
$this = Array
(
[1] => data
[2] => data
)
番号付けが自動的に行われないことが重要です。配列shut内の番号は、要素名の番号です。基本的に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);
}