He stackoverflow,foreach를 사용하여 특정 이름의 모든 GET 요소를 얻는 방법
오늘 나는 특정 이름의 모든 요소를 가져야 만합니다. 이제이 함수를 만드는 데 한 가지 문제가 있습니다. 특정 이름의 동적이기 때문에있을 수 있습니다 : "conf_1 = 데이터 & conf_2 = 데이터"도 있지만 "conf_1 = 데이터 & conf_2의 = 데이터 & conf_3의 = 데이터"
일부 코드를 계몽하기 위해,
foreach($_GET as $key => $value) {
$a++;
if (strpos($key, "conf_$a") === 0) {
$conf[$key] = $value;
}
}
그래서 우리는이 URL을 가지고 말할 수,
나암 = 이름 & DOM = 도메인 & ID = 41 & conf_1의 = 데이터 & conf_2의 = 데이터 & conf_3의 = 데이터 & this_1 = data & this_2 = opt1
이제 foreach 루프를 사용하여 모든 conf 요소를 가져 오려고하지만 1,2 $ 3 매개 변수로 $ a 매개 변수가 필요합니다. 그리고이 모든 요소를 가져 가려고 할 때 $ 1을주고 닫습니다.
다른 루프에서 어떻게 또는 어떻게 선언 할 수 있습니까? 다음 단계는이 같은 배열에 요소를 넣어의 코스이다 : 번호가 자동으로 수행되지 않는 것이 중요하다
$conf = Array
(
[1] => data
[2] => data
[3] => data
)
$this = Array
(
[1] => data
[2] => data
)
. 배열의 번호는 요소의 이름에있는 숫자입니다. 기본적으로 conf_1 = 데이터는 [1] => 데이터가 되어야만합니다.
나는 여러 가지 방법으로이 작업을 수행 할 수 있음을 알고 있지만 마녀가 가장 빠르고 가장 좋은 방법이라는 것을 알고 있습니다. 당신이 경우
$conf = array();
function check($key) {
if(preg_match('/conf_([0-9]+)/i', $key, $matches)) {
return $matches[ 1 ];
} else {
return false;
}
}
foreach($_GET as $key => $val) {
$index = check($key) ;
if($index !== false) {
$conf[ $index ] = $val;
}
}
조금 더 가까워 지지만 모든 get 요소를 취한 다음 $ data array_values ($ data)를 사용할 때; 그것은 자신이 만든 키 배열을 제공하고 배열에 키의 키를주고 싶습니다. conf_1 = data는 [1] => data가되어야합니다. 그리고 그것은 물론 $ conf 변수 – botenvouwer
@sirwilliam에 저장됩니다.나는 순간에 코드를 업데이트 할 것이다. – Baba
@ suirwilliam은 당신이 원하는 것이다. – Baba