마지막 URL에 추가 매개 변수를 추가하기 위해 현재 URL 쿼리 문자열을 조작하는 데 약간의 문제가 있습니다.PHP 쿼리 문자열 조작
예를 들어 당, 제품에 대한 카테고리 레이아웃이 말할 URL은 다음과 같습니다
index.php?category=3&type=5
지금, 해당 페이지에 나는 테이블이나 그리드 중 하나 인 레이아웃에 대한 링크가 있습니다. 해당 URL에서 나는 현재 가지고 :
<a href="index.php?<?php echo preg_replace($array,'',$_SERVER['QUERY_STRING']); ?>&layout=grid" ...
을 그리고, 나뿐만 아니라 테이블 href
에 대해 동일한 않습니다. 또한 배열에서 나는 단지 :
$array = array ('/&layout=table/', '/&layout=grid/')
이 방법이 올바른지, 아니면 더 좋은 방법이 있습니까? 나는 preg_replace
이 없기 때문에 클릭 할 때마다 동일한 layout
매개 변수를 계속 추가하므로 이전 layout
매개 변수를 제거하지 않고 이전 매개 변수, 다음 매개 변수, 다음 매개 변수, 다음 매개 변수를 표시합니다.
이것에 대한 통찰력은 매우 감사하겠습니다.
편집 :
function buildQuery($key,$value) {
$params = $_GET;
$params[$key] = $value;
return http_build_query($params);
}
그리고 유일한 문제 오프 :
<a href="index.php?<?php echo buildQuery('layout','grid'); ?>">grid</a>
이 무의미 보일 수도 있지만, 내가 갖고 싶은 아래의 답변에 덕분에, 나는 약간의 기능을 만들었습니다 내보기/템플릿 파일을 추가로 설정하지 않고. Im 깨끗한 괴물. 나는 심지어 'index.php?' 그것으로 그냥 게으른 수, 어쨌든 지금은 뭔가 놀 수 :) ..
저의 http_build_query 함수를 가리켜 주셔서 감사합니다. 존재하지도 못했습니다. 또한 초기 질문을 정리해 주셔서 감사합니다. 꽤 많이 돌진했다.하지만 'preg_replace'가 아니라 'preg_replace'가 아닌 그대로 변경했습니다. 이 기능을 사용하면 신속하고 쉬운 기능을 신속하게 만들어 미래 시나리오를 쉽게 만들 수 있습니다. 내 기능은 내 질문에 편집되었습니다 .. – Edhen